Parameter in der smb.confQuelle: Samba Information HQ
URL: http://www.sambahq.de/smbconf.php3/index/

Parameter in der smb.conf

add user script

Fügt automatisch UNIX-Benutzer hinzu.

mit "add user script" kann man eine Script angeben, das als ROOT ausgeführt wird, und UNIX-Benuter bei bedarf hinzufügt.
Normalerweise braucht Samba einen Unix-Benutzernamen für alle Benutzer, die auf Dateien auf den Samba-Server zugreifen wollen. Bei Installationen, bei denen NT die Passwortdatenbank kontrolliert, kann das einen erheblichen Aufwand darstellen. Mit dieser Option können neue UNIX-Benutzer angelegt werden, wenn sie gebraucht werden. (d.h. wenn der Benutzer das erste mal auf den Samba-Server zugreift!)
Damit diese Option funktioniert muß der Paramter security auf "server" oder "domain" gesetzt werden. Ausserdem muß der komplette absolute Pfad für das Script angegeben werden.

Wenn ein Windows-User versucht auf den Samba-Server zuzugreifen, fragt Samba den password server und versucht den Benuzter mit den gegeben Password zu autorisieren. Wenn der Benutzer autorisiert ist, sucht Samba den Benuzter in der UNIX-password Datenbank. (/etc/passwd)
Wenn er dort nicht vorhanden ist, und "add user script" gesetzt ist, wird das angegebene Script als ROOT ausgeführt, wobei %u mit den aktuellen Benuternamen ersetzt wird.
Wenn das Script erfolgreich ausgeführt wird, arbeitet Samba ganz normal weiter, als wenn der Benutzer schon in der UNIX-password Datenbank gewesen wäre.

Weitere relevante Paramter : security, password server, delete user script

Beispiel:

add user script = /usr/local/samba/bin/add_user %u

admin users

Welche Benutzer haben Administrator-Rechte ?

Diesen Paramter kann man eine Liste von Benutzern (und Gruppen) übergeben, die Administrator-Rechte auf einer bestimmten Freigabe, oder global haben. Das heist, das alle Aktionen, die sie ausführen, als ROOT ausgeführt werden.

Man sollte diesen Paramter sehr vorsichtig benutzen, da jeder Benutzer in dieser Liste alle Rechte haben, unabhängig von den (UNIX)-Dateirechten.

Siehe auch: domain user map, domain group map

Beispiele:

  admin users = mg

  admin users = @admin		// Die unix-gruppe "admin" 

  admin users = mg @admin foo bar

allow hosts

Synonym für hosts allow

Synonym für hosts allow

allow trusted domains

Nur bekannte Domänen erlauben ?

Dieser Paramter wird nur verwendet, wenn der security Parameter auf "domain" gesetzt ist.
Wenn er auf "no" gesetzt ist, dann scheitern Zugriffsversuche von Domänen oder Arbeitsgruppen, die anders sind als der von Samba (Paramter : workgroup) Sie würden sogar scheitern wenn diese Domäne vom Domaincontroller als "trusted" eingestuft wird.

Dies ist recht nützlich, wenn man den Zugriff auf den Samba-Server auf Mitglieder der Domäne, in der der Samba-Server Mitglied ist, beschränken möchte.
Beispiel: Es gibt zwei Domänen, DOMA und DOMB. DOMA vertraut DOMB, der Samba-Server ist in DOMA. Normalerweise können Benuzter, die in DOMB sind auf den Samba-Server zugreifen. (solange sie ein Account dort haben, oder add user script gesetzt ist.) Wenn allow trusted domains auf "no" gesetzt wird, kann der Benutzer nur auf den Samba-Server zugreifen, wenn er sich an die Domäne DOMA anmeldet.

Siehe auch: security, workgroup, password server

Standard:

  allow trusted domains = Yes


Beispiel:

  allow trusted domains = No


announce as

Wie soll sich Samba in der Netzwerkumgebung darstellen ?

Mit den "announce as" Paramter kann man steuern, als was sich Samba in der Netzwerkumgebung darstellen soll. Standartmäßig ist er auf "NT" eingestellt, was ein Synonym für "NT Server ist".

Weitere Optionen : "NT Workstation", "Win95" (Windows 95, "WfW" (Windows for Workgroups)

Dieser Paramter sollte nicht ohne einen triftigen Grund geändert werden! Wenn er nicht auf "NT" steht, kann es zu Problemen mit dem master browser in der Netzwerkumgebung kommen !

Siehe auch: announce version

Standard:

  announce as = NT Server

Beispiel:

  announce as = Win95

announce version

Welche Version hat Samba in der Netzwerkumgebung ?

Dieser Parameter kontrolliert die Versionsummer, die Samba bei Anfragen zurückgibt. Normalerweise ist sie auf "4.2" eingestellt.
Dieser Parameter sollte nicht ohne wichtigen Grund geändert werden !

Siehe auch: announce as

Standard:

  announce version = 4.2

Beispiel:

  announce version = 2.0

auto services

Welche Services erscheinen immer in der Übersicht ?

Dieser Parameter definiert eine Liste von Services, die automatisch zu der Übersicht hinzugefügt werden. (Dies können zum Beispiel bestimmte Benutzer-Verzeichnisse sein, oder Drucker, die nicht automatisch in der Übersicht erscheinen !)

Um Drucker hinzuzufügen benutzt man besser den Parameter load printers.

Siehe auch: default service

Standard:

  auto services = 

Beispiel:

  auto services = fred colorlp

available

Sperren einer Freigabe

Mit diesen Parameter kann man bestimmte Freigaben recht einfach sperren. wenn "available=no" in einer Freigabe gesetzt ist, scheitern alle Versuche auf diese Freigabe zuzugreifen. Diese Zugriffsversuche werden dann auch in die Logdatei geschrieben.

Standard:

  available = yes

Beispiel:

[dokumente]

   comment   = Wichtige Dokumente

   path      = /path/to/somewhere

# ist im Moment gesperrt ! 

   available = no

bind interfaces only

Beschränkung auf bestimmte Interfaces

Mit diesen Parameter kann man Samba sagen, daß er nur Zugriffe von Clients erlaubt, deren IP Adresse in den Bereichen liegt, die vom interfaces Paramter bestimmt liegen.
Dies ist nur eine einfache Möglichkeit, Samba sicherer zu machen. Es erfolgt allerdings nur ein einfacher Check, der mit IP-Spoofing umgangen werden kann !

Zu beachten ist, das wenn dieser Parameter aktiv ist, die IP 127.0.0.1 unbedingt zu der Liste in interfaces hinzugefügt werden sollte, da sonst einige Kommandozeilenprogramme wie smbpasswd o.ä. nicht mehr funktionieren !

siehe auch : interfaces

Standard:

  bind interfaces only = False

Beispiel:

  bind interfaces only = True

browseable

Soll die Freigabe in der Übersicht erscheinen ?

Mit diesen Parameter kann man einstellen ob eine bestimmte Freigabe in der Übersicht (in der Netzwerkumgebung, oder bei net view) erscheinen soll, oder nicht.

Der Parameter "browsable" ist ein Synonym für "browseable".

Siehe auch : auto services

Standard:

  browseable = Yes

Beispiel:

[Dokumente]

  path=/somewhere

  browseable = No

change notify timeout

Wie oft soll Samba auf updates überprüfen

Einer der neuen NT SMB Anfragen, die Samba 2.0 unterstützt ist die "ChangeNotify" Anfrage. Diese Anfrage erlaubt es den Client den Server zu sagen, das er ein bestimmtes Verzeichnis "überwachen" soll. Der Server meldet sich nur beim Client, wenn Änderungen in diesen Verzeichnis passiert sind.
Dieses Überprüfen von Verzeichnissen kann recht aufwendig unter UNIX sein, deswegen überprüft Samba nur in regelmäßigen Abständen diese Verzeichnisse. Diese Abstände kann man nun mit "change notify timeout" einstellen.
"change notify timeout" wird immer in Sekunden angegeben.

Standard:

  change notify timeout = 60

Beispiel:

  change notify timeout = 300

comment

Ein Kommentar in der Freigabe

Dieses ist ein Textfeld, welches in der Übersicht für Freigaben dargestellt wird. (z.Bsp. Netzwerkumgebung, net view)

Siehe auch: server string

Standard:

  comment = 

Beispiel:

[Dokumente]

  path = /parh/to/somewhere

  comment = Wichte Dokumente !

copy

Kopieren von Freigaben

Mit "copy" kann man Einstellungen von Freigaben übernehmen. Damit kann man eine Art "Templates" für Freigaben erstellen. Wenn in einer Freigabe der Parameter "copy" steht, werden alle Einstellungen dieser Freigabe übernommen. Lokale Einstellungen überschreiben die Einstellunge, die von "copy" übernommen werden.

Wichtig : Die Freigaben, auf die sich "copy" bezieht, müssen voher in der smb.conf definiert sein!

Standard:

  copy = 

Beispiel:

[test]

  comment = Test Freigabe

  path = /tmp

  

[foo]

  copy = test

  comment = Kopie von TEST  

create mask

Setzt die UNIX-Rechte beim Erstellen einer Datei

Wenn eine Datei erstellt wird, dann werden ihre UNIX-Rechte anhand der DOS-UNIX Mappings errechnet. Dieser Wert wird dann mit den "create mask" Wert mit einen logischen UND verknüpft.

Das heißt, das create mask so etwas wie das "maximal mögliche" angibt. Wenn zum Beispiel "create mask = 0700" ist, die Rechte aus den Mapping allerdings "0755" ergeben, bekommt die Datei die Rechte "0700".
Wenn "create mask = 0777" ist, und das Mapping "0755" ergibt, bekommt die Datei "0755".

Wichtig! Dieser Parameter gilt nur für Dateien! für Verzeichnisse gibt es directory mode.

Siehe auch: force create mode, directory mode, create mode

Standard:

  create mask = 0744

Beispiel:

[dokumente]

  create mask = 0755

  directory mask = 0755

create mode

Synonym für create mask

Synonym für create mask

deadtime

Automatisches Trennen von Verbindungen

Mit diesen Parameter kann man einstellen, ob Freigaben nach einer gewissen Zeit getrennt werden sollen. Dies ist zum Beispiel für Wechselmedien sehr nützlich.
Wenn der "deadtime" Paramter gesetzt ist, wird diese Zeit im Minuten nach den letzten Zugriff gewartet, bevor die Verbindung getrennt wird.
Die meisten Clients unterstützen ein automatisches Neuverbinden von Freigaben, so das dieser Parameter für die Benutzer nicht sichtbar ist.

Wenn "deadtime" auf 0 gesetzt wird, bedeutet es, das keine Trennung erfolgt.

Standard:

  deadtime = 0

Beispiel:

[cdrom]

  path=/mnt/cdrom

# soll nach 5 Minuten getrennt werden

  deadtime = 5

debug level

Wievel Debug-Info soll Samba generieren ?

Dieser Parameter gibt an, mit welchen Level Samba Debuginformationen schreiben soll. Er ist identisch mit den "-d level" Paramter von smbd und nmbd.

Siehe auch: log file, max log size

Standard:

  debug level = 0


Beispiel:

  debug level = 10

deny hosts

Synonym für hosts deny

Synonym für hosts deny

directory

Synonym für path

Synonym für path

directory mask

Unix-Rechte für neue Verzeichnisse

Dieser Parameter arbeitet analog zu create mask, nur daß hier die Rechte für Verzeichnisse eingestellt werden können.

Siehe auch: create mask, force create mask

Standard:

  directory mask = 0755


Beispiel:

[dokumente]

  create mask = 0775

  directory mask = 0775

directory mode

Synonym für directory mask

Synonym für directory mask

domain group map

Mapping zwischen Unix Gruppen und NT Gruppen

Mit diesen Parameter kann man eine Datei angeben, in der NT-Gruppen und UNIX-Gruppen stehen.

Diese Datei ist wie folgt aufgebaut :

<unix group name>=<nt group name>

Beispiel für eine Datei :

admin="Domain Admins"

Beispieleintrag in der smb.conf :

domain group map=/etc/domaingroup.map

domain logons

Soll Samba als Domain Controller arbeiten ?

Mit diesen Parameter kann man einstellen, ob Samba als Domänen-Controller arbeiten soll oder nicht.
Wenn der Wert auf "yes" gesetzt wird, dann können sich Windows 9* und NT (mit der samba TNG version) an die Samba Domäne anmelden.
Windows 9* Domänen und NT Domänen sind zwei völlig unterschiedliche Dinge. Die Windows 9* Domänen machen nicht viel mehr als beim Anmelden das Password am Samba Server zu überprüfen, die Profile zu kopieren, und das login script auszuführen. Es gibt keine besonderen Sicheheiten !

Informationen über Windows NT Domänen gibt es hier.

Beispiel :

  domain logons = yes


Achtung ! Wird dieser Wert bei einen Samba Server in einen existieren NT-Netzwerk mit PDC gesetzt, kann es zu massiven Problemen kommen ! Es kann sein, das Samba alle Aufgaben des NT-PDC übernimmt. Dies hat schon bei einigen großen Firmen zu einen Firmenweiten Samba-Bann geführt !

domain master

Samba arbeitet als domain master

Dieser Parameter sagt Samba, das er als WAN-weiter domain master browser für die angegebene Arbeitsgruppe arbeitet. Dies geschieht durch ein spezielles Flag bei den NetBIOS-Namen.
Lokale master browser in der selben Arbeitsgruppe, die innerhalb von broadcast-isolierten Subnetzten liegen, geben ihre lokale browse-Liste an den nmbd Prozess weiter (wo domain master=yes gesetzt war), und holen von ihn die komplette WAN-Browseliste. Clients werden dann die globale Liste sehen, anstatt die lokale auf ihren Subnetz.

NT Primary Domain Controller erwarten daß sie diesen Arbeitsgruppen-spezifischen NetBIOS-Namen, der den domain master browser für diese Arbeitsgruppe identifiziert, immer setzten können. (Es gibt auch keinen Weg, einen NT PDC zu sagen, daß er es nicht macht !) Wenn also dieser Parameter in Samba gesetzt ist, und er den Namen vor NT registriert, wird das Subnetz-Browsing nicht oder seltsam funktionieren.

Siehe auch: workgroup, local master, prefered master

Standard:

  domain master = no


Beispiel:

  domain master = yes

domain user map

Mapping zwischen UNIX und NT Namen

Mit diesen Parameter kann man eine Datei angeben, in der NT-Namen und UNIX-Namen stehen.

Diese Datei ist wie folgt aufgebaut :

<unix user name>=<nt user name>

Beispiel für eine Datei :

root=Administrator

Beispieleintrag in der smb.conf :

domain user map=/etc/domainuser.map

encrypt passwords

Sollen verschlüsselte Passwörter verwendet werden ?

Mit diesen Parameter kann man Samba sagen, ob er verschlüsselte Passwörter verwenden soll oder nicht.

NT benutzt einen anderen Verschlüsselungsalgorithmus um Passwörter zu speichern, als UNIX. Damit keine Klartextpasswörter durch das Netzt geschickt werden, gibt es bei Windows die "verschlüsselten" Passwörter. Das Problem ist, das der Samba Server nicht die "verschlüsselten" Passwörter mit seinen lokal gespeicherten Passwörtern vergleichen kann. (wenn er das könnte, wären die Verschlüsselung umsonst !)

Um dieses Problem zu umgehen, gibt es in Samba die "smbpasswd" Datei, und das gleichnamige Programm. In der smbpasswd Datei werden die Passwörter in einer Windows-konformen Art abgespeichert.
Das ganze hat aber einen gravierenden Nachteil: man muß zwei Passwortdateien pflegen. Es ist auch kein dierekter Umstieg möglich, alle Benutzer müssen ihr Passwort für die smbpassswd angeben.
Eine kleine Hilfe hierbei ist der parameter update encrypted, mit den nach und nach alle Passwörter in der smbpasswd gesetzt werden.

Wenn möglich sollte man verschlüsselte Passwörter verwenden, für den PDC Betrieb sind sie ZWINGEND erforderlich, NT4SP3 und Win98 verweigern das Anmelden an einen Server ohne verschlüsselte Passwörter.

Bei den security Einstellugen "server" und "domain" hat dieser Parameter keinen Einfluss.

Beispiel :

  encrypt passwords = yes


guest account

Unix-Name des Gast-Benutzers

Diese Option gibt eine Benutzernamen an, der benutzt wird, wenn auf den Samba-Server als Gast zugegriffen wird, und guest ok für diese Freigabe gesetzt ist.

Normalerweise hat dieser Gast-Benutzer einen Eintrag in der Passworddatenbank, allerdings kein gültiges login-script (/bin/false o.ä.). Der Benutzer "ftp" ist oft eine gute Wahl für diesen Parameter.
Wenn für eine Freigabe ein Benuzername vom Client geliefert wird, wird der Name vom Client verwendet.

Einige Systeme haben als Standart-Gast Zugang den Benutzer "nobody", wo es sein kann, daß er nicht drucken darf. Das kann man Testen, indem man sich als Gast anmeldet ("su nobody") und dann versucht, mit den Systemtools zu drucken. (lpr, lp)

Siehe auch: guest ok

Standard:

  wird zur Compilezeit eingestellt, normalerweise "nobody"


Beispiel:

  guest account = ftp

guest ok

Darf Gast diese Freigabe benutzen ?

Wenn diese Option auf "yes" gesetzt wird, dann ist kein Password nötig, um auf diese Freigabe zuzugreifen. Der Benutzername wird auf den vom guest account festgelegten wert gesetzt.

Siehe auch: guest account

Standard:

  guest ok = no


Beispiel:

  guest ok = yes

hosts deny

Welche Rechner dürfen nicht auf den Server zugreifen ?

Das ist das Gegenteil von hosts allow, Rechnernamen die hier aufgeführt werden dürfen nicht auf Samba, oder auf einzelne Freigaben zugreifen. Wenn ein Rechnername in hosts allow und hosts deny aufgeführt wird, ist der Zugriff erlaubt.

Siehe auch: hosts allow

Standard:

  hosts deny =


Beispiel:

  hosts deny = 10.1.4. badhost.foobar.de

invalid users

Wer darf NICHT auf eine Freigabe zugreifen ?

Dieser Parameter ist eine Liste von Benutzern und Gruppen, die NICHT auf eine Freigabe zugreifen dürfen. Dies ist ein "paranoider" Check, um sicherzugehen, das Benutzter nicht auf einen Freigabe zugreifen dürfen. Er wird nach den valid users check ausgeführt.

Wenn der Parameter leer ist, kann jeder auf die Freigabe zugreifen, wenn der Benutzername in valid users UND "invalid users" ist, dann darf der Benutzer nicht auf die Freigabe zugreifen.

Steht am Anfang der Gruppe ein "@", wird zuerst die NIS Gruppe, und dann die UNIX Gruppe getestet. Ein "+" bedeutet, das der Name nur als UNIX Gruppe interpretiert wird, ein "&" bedeutet, das der Name nur als NIS Gruppe interpretiert wird.
ein "&+" vor den Namen hat die gleiche Wirkung wie ein "@".

"%S" wird durch den aktuellen Freigabenamen ersetzt.

Siehe auch : valid users

Standard:

  invalid users = 


Beispiel:

[dokumente]

  path = /foo/bar

# Die Benutzer der UNIX-Gruppe "web" dürfen hier NICHT zugreifen

  invalid users = +web


load printers

Sollen alle Drucker in der printcap automatisch geladen werden ?

Wenn dieser Parameter auf "yes" gesetzt wird, dann werden alle Drucker, die in der printcap-Datei angegeben sind, automatisch zu der Übersicht (in der Netzwerkumgebung oder bei net view) hinzugefügt.

Standard:

  load printers = yes


Beispiel:

  load printers = no


log file

Standort des Logfiles

Mit dieser Option kann man die Position des Logfiles ändern. Der Standartwert wird zur compilezeit festgelegt, und ist bei verschiedenen Distributionen unterschiedlich.

Hier sind wieder die Standartersetztungen erlaubt, wie zum Beispiel %m für den NETBIOS Namen des Computers.

Siehe auch: log level, max log size

Beispiel:

  log file = /var/log/samba/log.%m

log level

Synonym für debug level

Synonym für debug level

logon drive

Laufwerksbuchstabe für das HOME-Verzeichnis unter NT

Logon Drive bezeichnet den Laufwerksbuchstaben, der mit den Home-Verzeichnis des Servers verbunden wird. Diese Option wird nur von NT Rechnern benutzt. Für win9* Rechner muß "net use x: /home" in der login.bat verwendet werden.

Beispiel :

logon drive = u:


logon script

Script, das beim Anmelden ausgeführt wird

Beispiel:

logon script = login.bat

Eine nette Version für eine login.bat von Matthias Wächter sieht so aus :

@echo off

if %OS%.==Windows_NT. goto WinNT

if %windir%.==. goto DOS

:Win9x

echo Win9x stuff here...

goto end

:DOS

echo DOS stuff here...

goto end

:WinNT

echo WinNT stuff here...

goto end

:end


Netzlaufwerke kann man mit


net use <drive letter:> \\server\share


verbinden. Unter NT kann man noch


/yes /presistent:no


verwendet werden, um zu verhindern, daß die Laufwerksbuchstaben bei der Neuanmeldung automatisch wiederhergestellt werden. (Um sicherzugehen, daß alle Laufwerke überall richtig gemappt sind :)

Wichtig hierbei ist noch, das die login.bat im MS-Dos Format ist (also mit ^M), da es sonst nicht
ausgeführt wird. (Tip: u2d ...)

Falls kein absoluter Pfad bei diesen Parameter angegeben wird, wird die angegebene Datei in der [netlogon] Freigabe gesucht und ausgeführt.

Wenn man möchte, das Benutzer eigene Login-Scripts haben können kann man

net use z: /home   (unter NT nicht nötig !)

call z:\login.bat

benutzen.

lpq command

Kommando für die Anzeige der Druckerwarteschlange

Dieser Parameter funktioniert genauso wie der print command Parameter, nur das hier das Programm für den Druckerstatus aufgerufen wird.

max log size

maximale größe des Logfiles

Mit diesen Parameter kann man die maximale Größe der Logfiles festlegen. Bei "max log size" wird die Größe pro Logdatei in Kilobyte angegeben. Wenn diese Grenze erreicht wird, wird die Logdatei zu ".old" umbenannt. (Ältere Dateien werden gelöscht).

Ein Wert von 0 bedeutet kein Limit.

Siehe auch: log file, debug level

Standard:

  max log size = 5000


Beispiel:

  max log size = 1000

os level

OS-Level Einstellung

Dieser Parameter gibt an, mit welchen Level Samba sich bei der Browser-wahl melden soll. Bei einen Wert von "2" gewinnt Samba die Wahl gegen WfWg und Win9* aber nicht gegen NT. Ein NT Domänen-kontroller benutzt immer den Wert 32. Bei einen Wert über 32 gewinnt der Samba-Server immer diese Wahl. Diese Wahlen finden normalerweise alle 5 Minuten statt.

Folgende Einstellunge haben die verschiedenen Versionen von Windows :

Windows 2000 Server (Domain Controller)         32

Windows NT 4.0 Server                           

Windows NT 3.51 Server



Windows 2000 Server (standalone)                16

Windows 2000 Professional 

Windows NT 4.0 Wks

Windows NT 3.51 Wks                     



Windows 98 Second Edition                       1

Windows 98

Windows 95

Windows for Workgroups

Beispiel

  OS Level = 34

Es ist Vorsicht geboten, den Wert über 31 zu setzen, wenn man in einen Netzwerk mit existierenden PDC (Primary Domain Controller) arbeiten.

Falls Samba als PDC arbeiten soll, oder Samba der einzige Server im Netzwerk ist, sollte der Parameter auf einen Wert > 32 gesetzt werden.

password server

Der Server der für Autorisierungen benutzt wird.

Wenn hier der Name eines anderen SMB-Servers angegeben wird, und security = domain oder security = server gesetzt ist, werden alle Benutzername/Password abfragen an den angegebenen Server weitergeleitet.

Der Name, der bei "password server" angegeben wird, muß ein NETBIOS Name sein.
Der Name wird in der in name resolv order angegebenen Reihenfolge aufgelöst.

Achtung! Wenn man einen Password Server benutzt, ist die UNIX-Maschine nur so sicher, wie der SMB-Server dier als Password Server angegeben wurde!
Mann sollte NIE einen "password server" angeben, den man nicht vertraut!

NIE "password server" auf sich selbst setzten, Samba kann dann in eine Endlosschleife geraten !

Wenn der security Parameter auf "domain" gesetzt wurde, dann muß ein Maschinen-Account beim Server existieren, und der Samba-Server muß mit "smbpasswd -j" der Domäne beitreten.

Standard:

  password server = 


Beispiel:

  password server = NT-PDC BDC1 BDC2

path

Angabe des Pfades für eine Freigabe

Dieser Parameter gibt den UNIX-Pfad für eine Freigabe an. Falls die Freigabe ein Drucker ist, gibt sie das Spoolverzeichnis an, in den Samba die Druckdateien zwischenspeichet, bevor sie an das UNIX-Drucksystem übergeben werden.

Alle Vorkommnisse von '%u' werden mit den UNIX-Benutzernamen ersetzt, die der Client bei dieser Verbindung angegeben hat. '%m' wird durch den NetBIOS Namen (das ist der Name, der bei Windows in der Identifikation angegeben wird) ersetzt.
Mit diesen Ersetzungen kann man sehr einfach Pseudo Home-Verzeichnisse generieren.

Wenn ein "root dir" Pfad angegeben wurde, wird der "path" Parameter angefügt.

Standard:

path = 

Beispiel:

[dokumente]

  path = /foo/bar



[home2]

  path = /home/%u



print command

Was passiert, wenn ein Druckauftrag ankommt ?

Nachdem ein Druckauftrag beim Samba-Server angekommen ist, und im Spool-Verzeichnis gespeichert ist, wird der Befehl, der durch den "print command" definiert ist, ausgeführt. Normalerweise wird mit diesen Befehl die Datei, die im Spool-Verzeichnis angekommen ist, an das Drucksystem weitergeleitet. Samba löscht die Datei im Spool-Verzeichnis nicht automatisch, deswegen ist es wichtig, darauf zu achten, das der Befehl die Spool-Datei löscht.

Bei "print command" wir einfach ein normaler Text-String angegeben, mit zwei Ausnahmen : Alle Vorkommnisse von '%s' werden durch den Dateinamen im Spool-Verzeichnis ersetzt, alle Vorkommnisse von '%p' werden durch den aktuellen Druckernamen ersetzt. Der Dateiname im Spool-Verzeichnis wird automatisch generiert.

Normalerweise wird '%s' durch den Dateinamen mit den kompletten Pfad ersetzt. Wenn dieses Verhalten unerwünscht ist, kann man auch '%f' benutzen. '%f' wird nur durch den eigentlichen Dateinamen ersetzt. (ohne Pfad !)

Der Parameter "print command" MUSS auf jeden Fall '%s' oder '%f' enthalten. '%p' ist optional.

Wenn kein "print command" angegeben ist, (entweder in [global] oder bei den einzelnen Druckern) werden die ankommenden Druckjobs im Spool-Verzeichnis gespeichert. (Achtung ! sie werden nicht gelöscht !!)

Es ist möglich komplexe Druckkommandos aufzubauen, da "print command" nur ein shell Befehl ist. Einzelne Kommandos können zum Beispiel durch ein ";" getrennt werden.

Beispiel:

  print command = echo Drucke %s >> /tmp/print.log; lpr -P %p %s; rm %s

printcap name

Wo steht die printcap Datei ?

Mit diesen Parameter kann man Samba sagen, welche Printcap Datei er benutzen soll.

Unter System V Systemen, die "lpstat" verwenden, kann man "printcap name = lpstat" verwenden, um automatisch eine Liste von vorhandenen Druckern zu bekommen.

Siehe auch: print command, printing

Standard:

printcap name = /etc/printcap 

Beispiel:

printcap name = /etc/myprintcap

printing

Welches Drucksystem wird verwendet ?

Dieser Paramter legt das Drucksystem fest, welches Samba benutzt, ausserdem werden einige Standartwerte wie print command gesetzt.
Folgende Drucksystem werden immoment unterstützt :
bsd,aix,lprng,plp,sysv,hpux,qnx,softq

Siehe auch: print command, printcap name

Die Standarteinstellungen kann man mit den Programm "testparm" anschauen.

Dieser Parameter kann auch für einzelne Drucker verwendet werden.

security

Autorisierungseinstellung für Samba

Diese Option beeinflußt, wie die Clients sich bei einen Samba-Server verhalten. Mögliche Einstellungen sind USER,SHARE,SERVER,DOMAIN. Die Standarteinstellung ist "security=SHARE" (aber eher aus historischen Gründen).


  security = SHARE

wird gebraucht, wenn die Anmeldenamen nicht auf den Samba-Server verfügbar sind


  security = USER

Hier ist der Anmeldename der gleiche wie der UNIX-Name auf den Samba-server. Dies ist die gebräuchlichste Einstellung. Bei dieser Einstellung ist aber auf jeden Fall der Parameter encrypt passwords zu beachten !


  security = SERVER

funktioniert im Prinzip wie security=user, allerdings wir die Username/Paßwort Autorisierung auf einen anderen SMB-Server (samba oder NT) vorgenommen. Dazu ist dann noch ein Eintrag im Feld password server notwendig.Wenn ein User nicht auf dem password Server vorhanden ist, wird auf die Option security=USER zurückgegriffen. Achtung ! Wenn beim SMB-Server verschlüsselte Paßwörter verwendet werden, muß dies auch bei security=USER der Fall sein, d.h. es muß eine entsprechende smbpasswd Datei existieren.


  security = DOMAIN

Dies ist ein recht neuer Parameter, der erst ab Samba > 2.0.0 funktioniert. Hier übernimmt Samba die Rolle eines Domänen-Mitgliedes, NICHT das eines Domänen-kontrollers. Hierzu muß der Samba-Server noch in die Domäne aufgenommen werden.

Beispiele :

Samba arbeitet als PDC :

security = USER 


Samba arbeitet als Domain Member:

  security = DOMAIN

Samba fragt die Userdaten bei Server xyz ab:


  security = server

  password server = xyz

server string

Beschreibung des Servers in der Netzwerkumgebung

Dies ist eine Zeichenkette, die in der Netzwerkumgebung angezeigt wird.

"%v" wird durch die Versionsnummer von Samba ersetzt.

"%h" wird durch den hostnamen des Servers ersetzt.

Standard:

  server string = Samba %v

Beispiel:

  server string = Samba Server %h, running Samba %v

smb passwd file

Wo sind die verschlüsselten Passwörter gespeichert ?

Dieser Parameter setzt den Pfad für die smbpasswd Datei.

Siehe auch: encrypt passwords, update encrypted

Beispiel :

smb passwd file = /usr/samba/private/smbpasswd

Achtung ! Diese Datei enthält die Passwörter aller Benutzer, sie sollte deswegen nur von ROOT lesbar sein !

socket options

TCP Optionen

Mit socket options kann man die Optionen an die unterliegende Netzwerk-schicht übergeben. Normalerweise wird dieser Parameter zum tunen benutzt. Die Parameter sind vom Betriebssystem abhängig.

Folgende Parameter werden immoment akzeptiert :

SO_KEEPALIVE

SO_REUSEADDR

SO_BROADCAST

TCP_NODELAY

IPTOS_LOWDELAY

IPTOS_THROUGHPUT

SO_SNDBUF *

SO_RCVBUF *

SO_SNDLOWAT *

SO_RCVLOWAT *

Parameter mit einen (*) erforden zusätzlich einen Integer-Wert.

Beispiele :

socket options = IPTOS_LOWDELAY TCP_NODELAY	(Für LAN)



socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192



socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=8192 SO_RCVBUF=8192

Bei manchen UNIX-Implementationen kann man mit "man setsockopt" näheres über die unterstützten Optionen erfahren.

unix password sync

Was bewirkt der unix password sync Parameter in der smb.conf ?

Mit "unix password sync" kann man die verschlüsselten Paßwörter in der smbpasswd Datei mit der Unix Password DB im Einklang halten.
Samba ruft das "passwd program" als ROOT auf, um das UNIX-Passwort für einen Benutzer zu ändern, der versucht, sein Paßwort via Samba zu ändern.

Das Programm muß als ROOT ausgeführt werden, da Samba das alte Passwort nicht im Klartext hat. Deswegen ist dieser Parameter standartmäßig ausgeschaltet.

Siehe auch: encrypt passwords, smb passwd file

Beispiel :

unix password sync = yes

update encrypted

Wie kann ich existierende Benutzer in die smbpasswd einfügen ?

update encrypted ist ein "Hack", um den Umstieg von Unix-Paßwörtern auf NT-Paßwörtern zu vereinfachen.
Um es benutzen zu können, braucht man folgendes :
a) einen Samba-Server, auf den Benutzer mit unix-Paßwörtern zugreifen können
b) die smbpasswd Datei, in der die Benutzer stehen.

Mit

mksmbpasswd.sh < /etc/passwd > smbpasswd

kann man die existierenden Unix Benutzer konvertieren. Allerdings können die Passwörter nicht übernommen werden. Hier kommnt nun "update encrypted" ins Spiel, es ersetzt die "XXXXXX..." Felder in der smbpasswd mit den Verschlüßelten NT-Paßwort.

Wenn alle Benutzer einen neuen Eintrag in der smbpasswd Datei haben, kann nun encrypt passwords auf "yes" gesetzt werden.

Achtung! Wenn ohne verschlüsselte NT-Passwörter kann samba nicht als PDC arbeiten.

Siehe auch: encrypt passwords, smb passwd file

Beispiel :

update encrypted = yes

valid users

Welche Benutzer dürfen sich anmelden ?

Dieser Parameter ist eine Liste von Benutzern und Gruppen, die auf eine Freigabe zugreifen dürfen. Wenn ein Benutzer nicht in der Liste ist (weder als Benutzer, noch als Mitglied einer Gruppe), kann er nicht auf die Freigabe zugreifen.

Wenn der Parameter leer ist, kann jeder auf die Freigabe zugreifen, wenn der Benutzername in "valid users" UND invalid users ist, dann darf der Benutzer nicht auf die Freigabe zugreifen.

Steht am Anfang der Gruppe ein "@", wird zuerst die NIS Gruppe, und dann die UNIX Gruppe getestet. Ein "+" bedeutet, das der Name nur als UNIX Gruppe interpretiert wird, ein "&" bedeutet, das der Name nur als NIS Gruppe interpretiert wird.
ein "&+" vor den Namen hat die gleiche Wirkung wie ein "@".

"%S" wird durch den aktuellen Freigabenamen ersetzt.

Siehe auch : invalid users

Standard:

  valid users = 

Beispiel:

[dokumente]

  path = /foo/bar

# Nur Benutzer der UNIX-Gruppe "orga" dürfen hier zugreifen

  valid users = +orga

volume

Einstellung des "volume labels"

Mit diesen Parameter kann man die Volume-Labels von Freigaben setzen.
Normalerweise ist der Volume-Label immer gleich der Freigabe. In manchen Fällen (zum Beispiel bei bestimmten CD-Roms) kann es nütztlich sein, ihn auf einen anderen Wert zu setzten.

Beispiel:

[cdrom]

  comment = CD-Rom

  path = /mnt/cdrom

  volume = DOS_CD_01

wins server

Meldet samba an einen Wins-Server an

Mit den Parameter "wins server" kann man Samba sagen, an welchen WINS Server er sich anmelden soll.
Der Wins-Server sollte mit der IP-Adresse angegeben werden !

Dieser Parameter sollte nur angegeben werden, wenn schon ein WINS Server im lokalen Netzwerk existiert.

Achtung ! "wins server" und wins support sind zwei gegensätzliche Parameter. Mann sollte sie NIE zusammen verwenden !

Siehe auch: wins support

Beispiel:

  wins server = 10.1.4.1

wins support

Soll Samba als WINS Server arbeiten ?

Mit diesen Parameter kann man den WINS-Server in Samba ein und ausschalten.
WINS ist ähnlich wie DNS ein Service um NETBIOS Namen zu verwalten. Ohne WINS-Server versuchen Windows-Clients Computernamen per BROADCAST alle 5 Minuten zu bestimmen. (Sie speichern diese Adressen zwar, aber die broadcasts können das Netzwerk recht stark belasten !)

Wenn ein WINS-Server im Netzwerk vorhanden ist, und der Client ihn benutzt, meldet er sich beim Hochfahren am WINS-Server an. Wenn er auf andere Computer zugreifen möchte, oder alle Computer in der Arbeitsgruppe sehen möchte, fragt er dann den WINS-Server.

WINS-Server sind sehr praktisch bei größeren Netzwerken und bei verschieden Subnetzen.

Wichtig ist, das nur 1 WINS-Server im lokalen Netzwerk existiert, und das alle Clients ihn verwenden. (am einfachsten kann man so etwas mit DHCP erledigen)
Wenn es zu Problemen bei der Netzwerkumgebung oder beim Suchen nach Computern gibt, liegt sehr warscheinlich ein Problem mit wins vor. (Client benutzt kein WINS, Server falsch eingestellt, etc... )

Siehe auch: wins server, DHCP-Beispielkonfiguration

Beispiel :

wins support = yes


Achtung ! Nicht verwechseln mit "wins server=..." ! Der Parameter wins server sagt samba, das er einen WINS-Server VERWENDEN soll, der Parameter "wins support" sagt samba, das er einer ist !!

workgroup

Einstellen der Arbeitsgruppe

Dieser Parameter legt die Arbeitsgruppe fest, in der der Samba-Server erscheint. Wenn security=domain gesetzt ist, legt dieser Parameter auch noch die Domäne fest, an der sich der Samba Server anmeldet.

Beispiel:

  workgroup = MYGROUP

Standartwerd (kann beim Comilieren festgelegt werden):

  workgroup = WORKGROUP


write list

Welche Benutzer dürfen auf der Freigabe schreiben ?

Dies ist eine Liste von Benutzern, die auf einer Freigabe Lese- und Schreibrechte haben. Wenn der Benutzer, der sich gerade anmeldet, in dieser Liste ist, darf er auf dieser Freigabe schreiben, auch wenn sie auf read only gesetzt ist.
Als Benutzer können auch Unix-Gruppen mit "@gruppe" angegeben werden.

Siehe auch: read list

Beispiel:

[web]

  comment = Web Server Dokumente

  path = /httpd/htdocs

  write list = @wwwstaff mg

writeable

Darf auf die Freigabe geschreiben werden ?

Dies ist das gegenteil von read only. Wenn "writeable" auf "no" gesetzt wird, dann darf auf die Freigabe nicht mehr geschreiben werden.

Wenn eine Freigabe als Druckerfreigabe definiert wurde, darf auf sie immer geschreiben werden, unabhänig von den writeable einstellungen.

Siehe auch: read only

Standard:

  writeable = no

Beispiel:

[wichtig]

  path = /mnt/somewhere

  comment = Wichtige Dokumente, dürfen nicht verändert werden !

  writeable = no