Nein, nicht schon wieder ein Artikel über den Samba Fileserver! Richtig, dass soll es auch nicht werden. Zumindest kein Grundlagen Artikel. Aber ich möchte doch hiermit eine Möglichkeit der Neu- Konfiguration eines Samba Servers präsentieren. Wäre es nicht nett, wenn Admina eine Datei in die Samba Konfiguration – also der zentralen Konfigurationsdatei smb.conf – einbinden könnte und alles ist wieder wie gewohnt?

Naja, ein bischen Vorarbeit ist schon notwendig:

  • Belasse die /etc/samba/smb.conf wie sie im neu installierten Zustand ist.
  • Erstelle die Datei /etc/smb.conf.local
  • Kopiere folgenden Inhalt (funktionierende Beispiel- Konfiguration) hinein:
# Leider muss der workgroup Eintrag in der /etc/samba/smb.conf deaktiviert werden.
# Setze ein ;(Semikolon) vor workgroup, damit folgender Eintrag wirksam wird:
workgroup = heimnetz
# auf welcher Netzwerkkarte soll der Fileserver horchen:
interfaces = 127.0.0.1/8 eth1
# und nur auf der genannten Netzwerkkarte horchen:
bind interfaces only = yes

[HOME]
comment = Heimlaufwerk von %u
# das Macro %u setzt den Anmeldenamen des Anwenders; den Anwender Ordner
# vorher erstellen:
#       path = /var/dhome/%u
# alternativ: wenn es lokal-angelegte Benutzer auf dem Server gibt, kann das 
# bestehende home Laufwerk eingebunden werden:
path = /home/%u
available = yes
browseable = yes
writeable = yes
# setzt alle Ordner und Dateien ausschliesslich mit den Rechten des Anwenders:
create mask = 0770
directory mask = 0770
guest ok = no

[GROUP]
# ein zentraler Ordner für alle Anwender in der Gruppe users (siehe /etc/group):
comment = Freigabe der Gruppe users
path = /var/dhome
available = yes
browseable = yes
writeable = yes
# Wenn alle gewuenschten Anwender der Gruppe users hinzugefuegt sind: alle
# neu erstellten Dateien werden nur für diese Gruppe verrechtet.
create mask = 0770
directory mask = 0770
guest ok = no
valid users = +users
force group = users
  • Füge folgende Zeile am Ende der [GLOBAL] Sektion in die /etc/samba/smb.conf ein:
include = /etc/smb.conf.local
  • (Re-)Starte den Samba Server wie gewohnt: service smbd restart
  • Führe in einen Terminal des Servers den Befehl testparm aus und überprüfe die Ausgabe.
  • Vergiss nicht, dass Samba Anwender erst einen Zugriff auf eine passwort- geschützte Freigabe bekommen, wenn ihr Passwort mit smbpasswd hinterlegt wurde:
smbpasswd -a anwender
  • Weitere Infos zeigt auch der Befehl smbtree auf der console unter Eingabe eines Passwortes an. Dort bekommt Admina z.B. auch die Freigabe- Bezeichnungen (‘comment’) angezeigt.

Nochmal kurz: Alle Optionen in der /etc/smb.conf.local haben Vorrang zu den gleichen Optionen in der /etc/samba/smb.conf. Außerdem sollte die smb.conf.local nicht im Ordner /etc/samba liegen – deswegen z.B. /etc/smb.conf.local. Der include wird an der Stelle wirksam, an der er in die /etc/samba/smb.conf eingefügt wurde, deswegen – in meinen Beispiel – am Ende der [GLOBAL] Sektion in der smb.conf, damit noch alle vorhergehenden aktiven Optionen (also ohne ; davor) in dieser Sektion wirksam werden können.

Damit ist es möglich, eine Datei zu erstellen (und zu sichern), die z.B. nur die Freigaben enthält und nach einer Neu- Installation des Samba Servers diese schnell wieder anbieten kann.

Have fun …

Dokumentation des Samba Projekts
Ubuntu Samba Info