Smb.conf
Inhaltsverzeichnis
Beispiel einer Samba PDC-Konfiguration
[global] workgroup=firma_xyz netbios name=Server01 server string=Linux Samba-Server %v security=user encrypt passwords=yes wins support=yes name resolve order=wins lmhosts hosts bcast domain logons=yes local master=yes preferred master=yes domain master=yes os level=65 logon home=\\%L\homes logon drive=k: logon path=\\%L\profiles\%U logon script=%U.logon.bat load printers=yes printing=cups printcap name=cups unix password sync = yes passwd program = /usr/bin/passwd %u add machine script = /usr/sbin/useradd -g clientpc -s /bin/false %u
[homes] comment=Home-Verzeichnis read only=no create mask=0750 browseable=no hide files=/desktop.ini/ inherit acls=yes # Nur nötig, wenn für die User in /home kein Homeverzeichnis existiert sondern # diese in einem separaten Verzeichnis liegen sollen: #path=/srv/samba/homes/%U
[profiles] comment=Profile path=/srv/samba/profiles read only=no create mask=0600 directory mask=0770 browseable=no hide files=/desktop.ini/ store dos attributes=yes
[netlogon] comment=Login-Scripte path=/srv/samba/netlogon browseable=yes read only=yes
[Sicherung] comment = Datensicherung path = /sicherung browseable = yes valid users = geli,flo,lan write list = geli,flo,lan available = yes
[install] comment = Unattended Install-Directory path = /sicherung/install/unattended read only = yes valid users = geli,flo,lan,guest
[printers] path = /srv/samba/spool browseable = no guest ok = yes writeable = no printable = yes printer admin = root
[print$] path = /srv/samba/drivers browseable = yes guest ok = no read only = yes write list = root
Die [global]-Sektion
workgroup=firma_xyz : hier wird der Domänen-Namen vergeben
netbios name=Server01 : der NetBIOS-Name des Servers
server string=Linux Samba-Server %v : mit dieser Zeichenkette erscheint der Server unter Windows – inklusive der Samba-Version (%v)
security=user : der Server soll als PDC fungieren
encrypt passwords=yes : Passwörter werden verschlüsselt vom Client an den Server geschickt (ab Windows 98!)
wins support=yes : der Server bietet WINS-Support für die Namensauflösung; ist bereits ein WINS-Server im Einsatz, verwende wins server = [server_ip]
name resolv order: im Beispiel wird versucht, die Namensauflösung in der Reihenfolge wins, lmhosts, hosts und zum Schluss per Broadcast durchzuführen
domain logons=yes : realisiert die Domänenanmeldung der Clients
local master=yes : Server wird zum Master-Browser erhoben
preferred master=yes : legt fest, dass der nmbd als bevorzugter master browser in der Domain auftritt. nmbd ist der NetBIOS-Name Server und bietet via Netbios über TCP/IP entsprechende Namensdienste an.
domain master=yes : spricht für sich...
os level=65 : stellt sicher, dass der Samba die "Wahl" zum PDC gewinnt
admin users=root : Benutzer mit Administrationsrechten (Domain-Admin)
logon home=\\%L\homes : Angabe des Home-Verzeichnis. Im Beispiel befinden sich die Home-Verzeichnise aller User unter /home; die [homes]-Sektion muss hier in der smb.conf enthalten sein!
logon drive=k: : in diesem Fall wird auf k: das Home-Verzeichnis gemounted
logon path=\\%L\profiles\%U : Quelle der servergespeicherten User-Profile (beachte [profiles])
load printers=yes : Drucker laden
printing=cups : zum Drucken das CUPS verwenden
printcap name=cups : das CUPS Printing-Interface verwenden
logon script=%U.logon.bat : Logon-Script, das nach dem Anmelden für jeden – in diesem Fall – einzelnen User ausgeführt wird; verlangt die Existenz der Sektion [netlogon]
unix password sync = yes : dieser Parameter ändert nicht nur das Samba- sondern auch das Linux-Passwort, wenn der User am (Windows-)Client sein Kennwort ändert; Voraussetzung: das smbpasswd-Passwort ist gleich dem Linux-Passwort
passwd program = /usr/bin/passwd %u : dieses Programm wird für die Passwortänderung verwendet
add machine script = /usr/sbin/useradd -g [maschinen_gruppe] -s /bin/false %u : unbekannte Maschinen-/Computer-Accounts automatisch anlegen, wenn diese in die Domäne eingebunden werden; [machinen_gruppe] muss vorher angelegt werden (groupadd)!
Die [homes]-Sektion
Hierbei handelt es sich um ein spezielles Share. Im Grunde ist es aufgebaut wie eine "normale" Freigabe, mit der Besonderheit, dass hier die Home-Verzeichnisse der User, die sich an der Domäne anmelden, liegen. Wenn [homes] den Eintrag path=/pfad/zu/homeverzeichnis nicht enthält, werden die Homeverzeichnisse unter /home verwendet. Egal ob path verwendet wird oder nicht: es muss für jeden Benutzer ein Ordner mit dessen Namen im entsprechenden Verzeichnis existieren (Unix-Rechte anpassen nicht vergessen!). Beachte auch in der [global]-Sektion den Eintrag logon home=!
Die [profiles]-Sektion
Dieses Share ist fast (!) wie alle Anderen, mit der Ausnahme, dass im angegebenen path (z. B. /srv/samba/profiles) für jeden User ein Profil-Verzeichnis liegt. Durch hide files und store dos attributes wird bewirkt, dass DOS-Attribute (wie z. B. für die versteckte Datei desktop.ini) erhalten bleiben. Beachte hierzu das Script Samba als PDC (folgt noch)!
Die [netlogon]-Sektion
Ebenfalls mit einem "normalen" Share zu vergleichen, mit der Sonderbedeutung, dass sich in path die Login-Scripte und die ntconfig.pol für Systemrichtlinien befinden. Wird in der [global]-Sektion logon script = %U.logon.bat angegeben, so wird im Verzeichnis path für jeden User ein derartiges Script erwartet, z. B.für einen Benutzer flo die flo.logon.bat. Die ntconfig.pol wird mit Poledit erstellt. Beachte Zentrale Verteilung der Gruppenrichtlinien - poledit
Die [printers]-Sektion
Existiert dieses Share, so werden alle am Server eingerichteten Drucker den Clients zur Verfügung gestellt. Will man für Drucker spezielle Rechte vergeben, z. B. dass nur bestimmte User auf einen Drucker drucken dürfen, so muss für jeden Drucker ein eigenes Share angelegt werden. Beachte hierzu das Script Samba als Druckserver (folgt noch).
path = /srv/samba/spool : Pfad zum Samba-Spoolverzeichnis; Rechte: chmod 7771 /srv/samba/spool
browseable = no : Share soll in der "Netzwerkumgebung" nicht sichtbar sein
guest ok = yes : grundsätzlich darf jeder – auch Gäste – drucken
writeable = no : das Ablegen von "Nicht-Drucker-Dateien" soll verweigert werden
printable = yes : es handelt sich um ein Printer-Share, d. h. trotz writeable = no dürfen trotzdem Druckjobs von den Benutzern abgelegt werden!
printer admin = root : Admin, der die Drucker verwaltet
Die [print$]-Sektion
Dieses Share beinhaltet die Drucker-Treiber für die (Windows-) Clients. Wird ein Drucker an einem Client-PC hinzugefügt, holt sich dieser die Treiber aus dem Ordner path. Genaueres erfährst du im Script Samba als Druck-Server (folgt noch).
path = /srv/samba/drivers : Pfad, in dem die Druckertreiber liegen
browseable = yes : dies verlangt Windows so
guest ok = no : kein „Gast“ hat Zugriff auf dieses Share
read only = yes : keiner darf schreiben, nur lesen...
write list = root : ...außer root, der darf hier Dateien (genauer: Treiber) ablegen
Hinweise
Diese Doku war eigentlich für meinen eigenen "Gebrauch" gedacht - vielleicht hilft sie dir auch weiter ;-)
Willst du Samba mit LDAP-Backend verwenden, lies dir hierzu das Script Samba und OpenLDAP durch (folgt noch). Das soll's gewesen sein!