Samba Zinching Dang 06. Juni 2014 1
Samba Samba allgemein Software-Schnittstelle für Interoperabilität zwischen verschiedenen Betriebssystemen, z. B. Microsoft Windows, Linux, Mac OS X, etc. basiert auf dem Server Message Block -Protokoll (SMB) bzw. auf dessen Erweiterung Common Internet File System -Protokoll (CIFS) stellt u. a. Datei- und Druckfreigaben sowie Domain Controller (Active Directory) bereit hier nur Dateifreigaben Zinching Dang Samba 06. Juni 2014 2 / 13 In der hier verwendeten virtuellen Infrastruktur ist eine sinnvolle Konfiguration des Servers als Druckserver oder Domain Controller nicht möglich. 2
Samba Historisches der Name entstand angeblich durch den folgenden Befehl: grep -i '^s.*m.*b' /usr/dict/words die Ausgabe war damals ( 1991): salmonberry samba sawtimber scramble die Ausgabe heute ist deutlich länger Zinching Dang Samba 06. Juni 2014 3 / 13 Das Wörterbuch dict unter Debian befindet sich im Verzeichnis /usr/share/dict/ und beinhaltet ca. 100 Wörter, die auf den Ausdruck passen. 3
Samba Dateifreigabe Dateifreigabe entweder mit oder ohne Authentifizierung ohne Authentifizierung nur möglich, wenn Server-seitig erlaubt mit Authentifizierung setzt einen Benutzer-Account auf dem System voraus freigegebene Verzeichnisse haben die Rechte des Verzeichnisses auf dem Server Zinching Dang Samba 06. Juni 2014 4 / 13 Auf Dateifreigaben ohne Authentifizierung sollte aus Sicherheitsgründen verzichtet werden. Für die Authentifizierung werden Benutzername und Passwort benötigt. Um in ein freigegebenes Verzeichnis schreiben zu dürfen, muss dieses über die Dateirechte auf dem Server auch für den Benutzer schreibbar sein. D. h. ein Verzeichnis, das auf dem Server für den Benutzer nicht schreibbar ist, ist auch über Samba nicht für den Benutzer schreibbar, auch wenn dem Benutzer über Samba der Schreibzugriff erlaubt wurde. 4
Samba Konfiguration Beispiel-Eintrag für Verzeichnisfreigabe: 1 [ sharename ] 2 comment = share description 3 browseable = yes 4 writeable = no 5 path = / srv / smb / folder 6 guest ok = no 7 hosts allow = 1 9 2. 1 6 8. 2. 0 / 2 4 8 hosts deny = 192.168.2.123 9 write list = @ admin 10 valid users = user 1 user 2 @ gruppe 1 Zinching Dang Samba 06. Juni 2014 5 / 13 [sharename]: angezeigter Share-Name comment: Kommentarfeld browseable: Sichtbarkeit writeable: legt fest, ob das Share für alle Benutzer schreibbar ist (wenn auf no gesetzte kann einzelnen Benutzern über write list trotzdem Schreibzugriff gegeben werden) path: absoluter Pfad guest ok: Gastzugriff (Zugriff ohne Authentifizierung) hosts allow: Host-Whitelist hosts deny: Host-Blacklist write list: Benutzer/Gruppen mit Schreibberechtigung bei writeable = no valid users: berechtigte Benutzer/Gruppen 5
Lab 3.1: Samba installieren und konfigurieren Lab: Samba installieren und konfigurieren installiere samba über das Paketverwaltungssystem erstelle die Verzeichnisse /srv/samba/open und /srv/samba/restricted setze sambashare als Gruppe dieser Verzeichnisse und erlaube den Schreibzugriff für die Gruppe erstelle zwei Benutzer user1 und user2 und füge diese Benutzer in die Gruppe sambashare hinzu ordne diesen Benutzern einen Samba-Account zu Zinching Dang Samba 06. Juni 2014 6 / 13 Verwende hier adduser, um Benutzer anzulegen, da dies komfortabler ist. Die Zuordnung des Samba-Accounts geschieht mit dem Befehl smbpasswd -a <user>. 6
Lab 3.1: Samba installieren und konfigurieren Lab: Samba installieren und konfigurieren stelle fest, wo sich die Konfigurationsdatei für samba befindet und bearbeite diese setze die workgroup auf LINUXKURS lege darin zwei Shares an: ein offenes read-only und ein geschütztes read/write das read-only Share soll für jeden lesbar sein, das geschützte nur mit Authentifizierung Namensschema: open bzw. restricted user1 soll das geschützte Verzeichnis lesen und schreiben dürfen, user2 nur lesen Zinching Dang Samba 06. Juni 2014 7 / 13 Die vorhandene Konfiguration ist bereits sinnvoll. Die neuen Shares sollten an das Ende der Datei angehangen werden. 7
smbclient smbclient ermöglicht den Zugriff auf Samba-Shares ohne Root-Rechte bedient sich wie ein FTP-Client smbclient //<server>/<share> -U <user> -W <workgroup> danach können mit den Befehlen Dateioperationen ausgeführt werden Zinching Dang Samba 06. Juni 2014 8 / 13 8
smbclient smbclient cd: wechselt das Verzeichnis ls: zeigt den Inhalt des Verzeichnisses an get: lädt eine Datei herunter put: lädt eine Datei hoch print: druckt eine Datei (nur bei Druckern) quit: beendet das Program Zinching Dang Samba 06. Juni 2014 9 / 13 9
Lab 3.2: smbclient installieren Lab: smbclient installieren installiere den smbclient erstelle eine Liste mit allen installierten Programmen diese soll in deinem Share für authentifizierte Benutzer verfügbar sein erstelle eine Datei mit dem Inhalt Hello World! diese soll in deinem offenen Share für alle verfügbar sein Zinching Dang Samba 06. Juni 2014 10 / 13 Eine Liste mit installierten Programmen kann mit dem Befehl dpkg --get-selections ausgegeben werden. 10
Lab 3.2: smbclient installieren Lab: smbclient installieren verbinde dich zunächst lokal zu deinen eigenen Shares um zu überprüfen, dass deine richtig konfiguriert sind lade vom restricted Share deines Nachbarn die Paketliste herunter verbinde dich zum Windows Rechner und lade diese auf das Share hoch Zinching Dang Samba 06. Juni 2014 11 / 13 Überprüfe hierbei, ob du mit user1 Lese- und Schreibrechte und mit user2 nur Leserechte auf das restricted Share hast. 11
mount.cifs mount.cifs funktioniert wie der mount Befehl mountet Samba-Shares das gleiche wie mount -t cifs mount.cifs //<ip>/<share> /<pfad> -o user=<user> Zinching Dang Samba 06. Juni 2014 12 / 13 12
Lab 3.3: mount.cifs installieren Lab: mount.cifs installieren installiere das Paket cifs-utils mounte die Windowsfreigabe nach /mnt überprüfe, ob du die Dateien lesen kannst unmounte anschließend das Dateisystem wieder Zinching Dang Samba 06. Juni 2014 13 / 13 13