/etc/smb.conf
Grundlagen
Die smb.conf-Datei ist ähnlich wie die win.ini-Datei von Windows aufgebaut,
d.h. sie enthält [Abschnitte] und in diesen Abschnitten Wert=Zuweisungen.
Drei Abschnitte, [global], [homes] und [printers] haben eine besondere Bedeutung,
die restlichen Abschnitte sind normale Freigaben.
Für jede Freigabe muß angegeben werden:
-
Was wird freigegeben?
-
Es muß ein mit einem Statement wie 'path=/pfad/der/freigabe'
der Pfad zum (Spool-)Verzeichnis angegeben werden. Bei Druckern gehört
zusätzlich die Angabe 'printable=yes' dazu.
Eine Angabe wie comment=CD-Rom-Laufwerk rundet die ganze Sache ab.
-
Mit welchen Rechten wird es freigegeben?
-
writable=no (Geschmackssache) legt fest, daß Benutzer keinen
Schreibzugriff auf eine Freigabe haben sollen. Drucker brauchen keine
Schreibrechte. Ein Benutzer mit Schreibzugriff braucht natürlich immer
noch Schreibberechtigung für die zu beschreibenden Dateien.
-
Wer darf darauf zugreifen?
-
Mit public=yes wird festgelegt, daß die Freigabe ohne Angabe
von Username und Passwort gemountet werden darf. Der Zugriff erfolgt dann
als nobody (man kann dies durch ein guest user-Statement in [global]
ändern). Mit einem valid users-Statement (Nur diese Benutzer
dürfen diese Friegabe mounten) und/oder einem invalid
users-Statement (diese Benutzer dürfen die Freigabe gar nicht mounten,
selbst wenn sie valid users sind) kann man Freigaben auf bestimmte Benutzer
beschränken. Gruppen kann man im Stil @gruppenname angeben.
-
Extras
-
Da wären zum Beispiel die Angaben preexec, postexec, root preexec und
root postexec, die es erlauben, bei mounten bzw. unmounten der Ressource
einen Befehl (evtl. als root) auszuführen. Dies eignet sich vorzüglich
für CD-Roms und ähnliches, um sie bei Benutzung automatisch zu
mounten.
Die [homes]-Freigabe hat eine besondere Bewandnis. Mit
net use \\server\homes
kann ein Benutzer sein Homeverzeichnis mounten. Dies geht auch als
net use \\server\<user>
(für den Benutzer <user>).
Ersetzungen
Es können Angaben mit Ersetzungen gemacht werden. Will man etwa eine
Freigabe je nach Rechner in ein anderes Verzeichnis zeigen lassen, so geht
das mit 'path=/var/clients/%m', wobei dann %m durch den NetBIOS-Namen
des Clients ersetzt wird. Die Ersetzungen sind:
%S = Der Name der Freigabe
%P = Das Verzeichnis der Freigabe (die expandierte path-Angabe)
%u = Der Benutzer der Freigabe
%U = Der Benutzername, wie er beim Client eingestellt ist (d.h. er muß nicht
notwendigerweise überprüft worden sein)
%H = Das Homeverzeichnis des gültigen Benutzers
%v = Die Versionsnummer von Samba (nur für Beschreibungs-Strings interessant)
%h = Der Hostname des Servers (=server.osterbek.hh.schule.de)
%m = Der NetBIOS-Name des Client (z.B. client1)
%L = Der NetBIOS-Name des Servers
%M = Der Hostname des Client
%d = Prozeß-Id des smbd
%a = Architektur des Clients. Es werden Samba, WfWg, WinNT und Win95 erkannt.
%I = IP-Adresse des Client
%T = Datum und Zeit
Test der Konfiguration
-
testparm /etc/smb.conf
laufen lassen. Es zeigt eventuelle Fehler in der smb.conf-Datei an.
-
smbclient -L server
laufen lassen. Es sollten nun die aktuellen Freigaben des Servers aufgelistet
werden. Wenn nicht, liegt das an nicht laufenden Dämonen oder an falscher
Konfiguration (dann kommt eine Meldung 'Your server is unfriendly').
Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt
von Uwe Debacher, letzte
Änderung am