Samba Server

Serveranwendungen

Auf dieser Seite 3 Abschnitte

Mit Samba kann man Verzeichnisse eines Linux-Systems im Netzwerk für andere Systeme aus dem Netzwerk freigeben. Die zugreifenden Systeme können dann sowohl Linux- als auch Windoof-Systeme sein. Das SMB-Protokoll wird auch von der Firmware einiger Endgeräte, wie z.B. Scanner unterstützt.

Installation

Die Installation der Samba-Server-Software unter Debian oder Ubuntu ist sehr einfach:

Shell
sudo apt install samba

Konfiguration

Freigaben einrichten

Die Einrichtung von Samba-Freigaben erfolgt in der Datei /etc/samba/smb.conf. Die Syntax für Freigaben lautet dabei:

Konfiguration
[Freigabename]
     comment = Hat technisch keine Bedeutung
     path = /wo/liegt/der/freizugebende/Ordner
     browsable = yes
     read only = no
     guest ok = no

Mit dem Freigabename wird der freizugebende Ordner später angesprochen. Das heißt, wenn ein Ordner "/home/hanswurst/freigabe" unter dem Namen "Ablage" freigegeben wird, dann würde er z.B. mit "smb://{Servername oder IP-Adresse}/Ablage" ansprechbar sein. Der Eintrag in der Datei "/etc/samba/smb.conf" sähe dann so aus:

Konfiguration
[Ablage]
      comment = Ablagefreigabe
      path = /home/andreas/hanswurst/freigabe
      browsable = yes
      read only = no
      guest ok = no

Die Parameter browsable, read only und guest ok sind selbsterklärend. Die Freigabe wird durch Neustart des Sambaservers aktiviert:

Shell
sudo systemctl restart smbd.service

User einrichten

Samba hat eine eigene Benutzerdatenbank und nutzt nicht die des Servers. Trotzdem kann man nur User hinzufügen, die auch auf dem Server als User vorhanden sind. Für große Organisationen werden natürlich andere Methoden, wie z.B. LDAP oder AD genutzt. Im Kleinen aber geht das prima zu Fuß. Zunächst einmal wird also ein neuer User auf dem Linux-System hinzugefügt, der sich aber auf der SSH-Shell nicht anmelden können soll:

Shell
sudo  adduser --no-create-home --disabled-login --shell /bin/false hanswurst

Dann wird ein SMB-User dazu eingerichtet:

Shell
sudo smbpasswd -a hanswurst

Was bei den Zugriffsrechten noch zu beachten ist

Der Zugriff auf ein Samba-Share erfordert zunächst auch den Zugang zum Server als berechtigter User. Außerdem muss der zugreifende User natürlich auf dem Server auch generell das Zugriffsrecht auf den Pfad haben. Wenn ich einen Ordner auf dem Server, auf den User hanswurst kein Zugriffsrecht hat, über Samba freigebe, dann kann hanswurst immer noch nicht darauf zugreifen. Möchte ich also einen Ordner "Freigabe" im Wurzelverzeichnis des Servers für User der Gruppe users (wie z.B. hanswurst) freigeben, dann muss ich folgende Befehle auf der Konsole absetzen:

Shell
sudo chown -R :users /Freigabe
sudo chmod -R 0660 /Freigabe

Der Parameter "-R" ist dabei nur erforderlich, wenn der Ordner nicht leer ist. Er dient dazu, dass die Berechtigungen rekursiv, das heißt, auch für alle unter dem angegebenen Pfad befindlichen Objekte vergeben werden.