Samba, 
2. Auflage

Samba, 2. Auflage

Von Jay Ts, Robert Eckstein, and David Collier-Brown
2. Auflage, August 2003
O'Reilly Verlag, ISBN: 3-89721-359-1
www.oreilly.de/catalog/samba2ger/

Dieses Buch ist unter der GNU Free Documentation License (FDL) erschienen. Bitte beachten Sie den Text der GNU FDL.


TOC PREV NEXT INDEX

Kapitel 11

Weitere Informationen über Samba

Dieses Kapitel beschließt unsere Behandlung der Konfigurationsdatei smb.conf mit einigen weiteren Optionen, die eine Vielzahl von Aufgaben ausführen können. Wir sprechen kurz über Optionen zur Zeit-Synchronisierung, betrachten die Internationalisierung, gehen auf Nachrichten ein und zeigen verbreitete Windows-Fehler. Im Großen und Ganzen werden Sie diese Optionen nur unter besonderen Umständen benötigen.

Zeit-Synchronisierung

In einem Netzwerk mit Computern müssen die Systeme im Netzwerk bezüglich der aktuellen Zeit sowie der Änderungszeitpunkte der Dateien übereinstimmen. Ein Beispiel für die Wichtigkeit der Synchronisierung sind die Roaming-Profile, die wir in Kapitel 4 behandelt haben. Es ist für alle Clients, die auf ein Roaming-Profil zugreifen, ausgesprochen wichtig, dass sie sich einig sind, welche Zeit eingestellt ist sowie welcher Client zuletzt das Profil eines Benutzers verändert hat.

Die Zeit-Synchronisierung kann auch für Programmierer sehr bedeutsam sein. Eine nützliche Gruppe von Einstellungen besteht aus den folgenden Optionen:

[global]
 
	time server = yes
 
	dos filetimes = yes
 
	fake directory create times = yes
 
	dos filetime resolution = yes
 
	delete readonly = yes
 

Wenn Sie diese Optionen setzen, ermöglichen Samba-Freigaben die Kompatibilität der Dateiänderungszeiten, die Visual C++, nmake und andere Microsoft-Programmierwerkzeuge erfordern. Ansonsten glauben PC-make-Programme möglicherweise, dass alle Dateien in einem Verzeichnis jedes Mal neu kompiliert werden müssen. Das ist aber vermutlich nicht das von Ihnen gewünschte Verhalten.

In Kapitel 4 haben wir Ihnen gezeigt, wie Sie ein Anmeldeskript erzeugen, das den Befehl net time verwendet, um die Uhren der Clients automatisch zu synchronisieren, wenn sie sich an der Domäne anmelden. Ist Ihr Netzwerk nicht als Domäne, sondern als Arbeitsgruppe konfiguriert, können Sie den Befehl net time ebenfalls einsetzen, indem Sie den Befehl:

net time \\sambaserver /set /yes
 

bei jedem Client in ein Startskript einsetzen, das ausgeführt wird, wenn das System bootet. Samba bietet immer einen Time-Service an - unabhängig davon, ob es als primärer Domänen-Controller läuft -, oder der Konfigurationsdateiparameter time service ist gesetzt.

Angenommen, Domänen-Benutzer melden sich wenigstens einmal am Tag an der Domäne an und Arbeitsgruppen-Clients starten häufig neu. Der Befehl net time kann dann die Uhren der Client-Systeme relativ gut synchronisiert halten. Manchmal jedoch bleiben Domänen-Benutzer für eine längere Zeit angemeldet, und auch Arbeitsgruppen-Clients können zwischen den einzelnen Neustarts durchaus einige Tage durchlaufen. In der Zwischenzeit können sich die Hardware-Uhren der Systeme so sehr verändern, dass Probleme auftreten. Es wäre möglich, dies zu umgehen - je nachdem, welche Windows-Version auf dem Client-System läuft. Unter Windows 98/Me können Sie den Taskplaner (Task Scheduler) verwenden, um regelmäßig den Befehl net time aufzurufen. Unter Windows 2000/XP benutzen Sie den MS-DOS-Befehl at. Die bessere Lösung besteht jedoch darin, das Network Time Protocol einzusetzen, auf das wir gleich eingehen werden.

Die richtige Zeit-Synchronisierung ist auch dann wichtig, wenn Sie in einer Active Directory-Domäne arbeiten, da Active Directory die Kerberos-Authentifizierung benutzt. Wenn ein Kerberos-Domänen-Controller ein Authentifizierungsticket für einen Client erzeugt, ist die Zeit in den Challenge-Response-Austausch zwischen dem Client und dem Domänen-Controller kodiert. Stimmen die Zeiten zwischen dem Client und dem Server nicht überein, schlägt die Authentifizierung unter Umständen fehl.

Um eine korrekte Zeit-Synchronisierung in Active Directory-Domänen zu erlauben, hat Microsoft das Network Time Protocol (NTP) aufgegriffen. Seine Implementierung trägt den Namen Windows Time Service. Nähere Informationen finden Sie in dem Microsoft-Whitepaper mit dem Titel The Windows Time Service, das Sie von http://www.microsoft.com herunterladen können.

Das Schöne daran ist, dass es sich bei NTP um die Standardmethode zum Synchronisieren von Unix-Hosts in einem Netzwerk handelt. Sie können also alle Unix- (einschließlich des Samba-Servers) und Windows-Systeme mit der folgenden Methode synchronisieren:

1. Führen Sie NTP auf den Unix-Systemen in Ihrem Netzwerk aus. Nähere Informationen finden Sie unter http://www.ntp.org.
2. Verwenden Sie eines der Unix-Systeme (etwa das Samba-Host-System) als NTP-Server für die Windows 2000/XP-Clients.
3. Für andere Windows-Clients müssen Sie eventuell ein Update von Microsoft herunterladen, um die Clients um Unterstützung für den Windows Time Service zu erweitern. Oder Sie verwenden ein Programm eines Drittherstellers wie das freie analogX Atomic TimeSync (http://www.analogx.com). Sie können aber auch weiterhin regelmäßig den Befehl net time verwenden, um die Uhren der Clients zu aktualisieren.

Optionen zur Zeit-Synchronisierung

Um Roaming-Profile, Programmierer, die auf Ihren Samba-Server zugreifen, und andere zeitkritische Funktionen in Ihrem Netzwerk zu unterstützen, sollten Sie die Optionen beachten, die in Tabelle 11-1 aufgeführt sind.

Tabelle 11-1
Optionen zur Zeit-Synchronisierung
Option
Parameter
Funktion
Vorgabewert
Geltungsbereich
time server
Boolescher Wert
Wenn yes, wird nmbd den Windows-Clients als SMB-Time-Service bekannt gemacht.
no
global
time offset
numerischer Wert
Fügt der ausgegebenen Zeit die festgelegte Anzahl Minuten hinzu.
0
global
dos filetimes
Boolescher Wert
Erlaubt es Benutzern, die nicht Eigentümer einer Datei sind, die Zeit auf dieser Datei zu ändern, wenn sie diese schreiben dürfen.
no
Freigabe
dos filetime
resolution
Boolescher Wert
Veranlasst das Runden der Dateizeiten auf die nächste gerade Sekunde.
no
Freigabe
fake directory create times
Boolescher Wert
Legt Verzeichniszeiten fest, um einen MS-nmake-Fehler zu vermeiden.
no
Freigabe

time server

Samba arbeitet immer als SMB-Timeserver und entspricht damit dem Verhalten von Windows-Systemen. Voreinstellung ist jedoch, dass Samba sich nicht selbst als Timeserver im Netzwerk bekannt macht. Ist diese Option auf yes gesetzt, macht Samba sich selbst als SMB-Timeserver bekannt:

[global]
 
	time service = yes  
 
time offset

Um mit Clients umzugehen, die die Sommerzeit nicht richtig verarbeiten können, bietet Samba die Option time offset. Wenn die Option gesetzt ist, wird die angegebene Anzahl an Minuten zur aktuellen Zeit addiert. Das ist praktisch, wenn Sie sich gerade in Neufundland aufhalten und Windows nicht weiß, dass es zum nächstgelegenen Festland einen Zeitunterschied von 30 Minuten gibt:

[global]
 
	time offset = 30
 
dos filetimes

Traditionell dürfen nur der root-Benutzer und der Besitzer einer Datei auf einem Unix-System den Zeitstempel verändern, der darüber Auskunft gibt, wann eine Datei zuletzt verändert wurde. Mit der Option dos filetimes auf Freigabeebene können Sie das Verhalten an DOS und Windows anpassen: Jeder Benutzer darf nun diesen Zeitstempel verändern, sofern eine Schreibberechtigung vorliegt. Samba verwendet zum Ändern des Zeitstempels seine root-Privilegien.

Standardmäßig ist diese Option ausgeschaltet. Sie müssen sie häufig auf yes setzen, damit make-Programme auf den PCs korrekt arbeiten. Ohne die Option kann diese Software den Zeitstempel nicht ändern. Das führt oft dazu, dass das Programm glaubt, alle Dateien müssten neu kompiliert werden, auch wenn das nicht der Fall ist.

dos filetime resolution

dos filetime resolution ist eine Option auf Freigabeebene. Wenn Sie für sie den Wert yes angeben, rundet Samba die Zeitstempel auf die am nächsten liegende Zweisekundengrenze. Diese Option gibt es in erster Linie, um ein Problem in Windows zu umgehen, das dazu führt, dass Visual C++ nicht erkennt, dass eine Datei unverändert ist. Sie können sie folgendermaßen aktivieren:

[data]
 
	dos filetime resolution = yes
 

Wir empfehlen, diese Option nur zu benutzen, wenn Sie mit Microsoft Visual C++ auf Dateien einer Samba-Freigabe zugreifen, die Oplocks unterstützt.

fake directory create times

Die Option fake directory create times hilft make-Programmen auf PCs. VFAT- und NTFS-Dateisysteme zeichnen im Gegensatz zu Unix-Dateisystemen den Erstellungszeitpunkt von Verzeichnissen auf. Ohne diese Option meldet Samba seinen Clients für Verzeichnisse den Zeitstempel der ältesten darin enthaltenen Datei. Wenn dies nicht Ihren Bedürfnissen entspricht, können Sie diese Option auf Freigabeebene verwenden:

[data]
 
	fake directory create times = yes
 

In diesem Fall meldet Samba als Erstellungsdatum für Verzeichnisse grundsätzlich den 1. Januar 1980. Diese Option wird hauptsächlich eingesetzt, damit das nmake-Programm von Visual C++ glaubt, dass Dateien in einem Verzeichnis jünger als das Verzeichnis selbst sind und neu kompiliert werden müssen.

Magische Skripten

Magische Skripten stellen eine Methode dar, bei der Programme unter Unix ausgeführt werden und die Ausgabe zurück auf den SMB-Client geleitet wird. Im Prinzip handelt es sich um ein Experiment. Allerdings verlassen sich einige Benutzer und ihre Programme auf diese beiden Funktionen, damit ihre Programme korrekt arbeiten. Magische Skripten genießen nicht besonders viel Vertrauen, und das Samba-Team rät auch dringend von ihrer Verwendung ab.

Optionen für magische Skripten

Tabelle 11-2 zeigt die Optionen, die im Zusammenhang mit magischen Skripten auf dem Samba-Server zum Einsatz kommen.

Tabelle 11-2
Optionen für magische Skripten
Option
Parameter
Funktion
Vorgabewert
Geltungsbereich
magic script
String
(Dateiname)
Datei, die von Samba unter der Kennung des angemeldeten Benutzers ausgeführt wird, wenn dieser die Datei öffnet und anschließend wieder schließt.
keiner
Freigabe
magic output
String
(Dateiname)
Datei, in der die Ausgabe des magischen Skripts aufgezeichnet wird.
skriptname.out
Freigabe

magic script

Wenn Sie mit der Option magic script einen Dateinamen angeben und der Client eine Datei mit diesem Namen in der Freigabe erstellt, führt Samba die Datei aus, sobald der Benutzer sie öffnet und wieder schließt. Lassen Sie uns zum Beispiel annehmen, dass die folgende Option in der Freigabe [accounting] steht:

[accounting]
 
	magic script = tally.sh
 

Samba beobachtet ständig die Dateien in der Freigabe. Wenn ein Client eine Datei mit dem Namen tally.sh schließt (nachdem er sie zuvor geöffnet hat), führt Samba diese Datei lokal auf dem Unix-System aus. Samba übergibt die Datei zur Ausführung an die Shell, deshalb muss es sich dabei um ein gültiges Shell-Skript handeln. Das bedeutet, dass am Zeilenende Newline-Zeichen an Stelle der Windows-CRLFs stehen müssen. Außerdem sollten Sie am Anfang der Datei die Anweisung #! verwenden, um anzuzeigen, unter welcher Shell oder welchem Interpreter Samba das Skript ausführen soll, es sei denn, das Skript ist für die Standard-Shell Ihres Systems vorgesehen.

magic output

Diese Option legt eine Ausgabedatei fest, in die das durch magic script angegebene Skript seine Ausgabe sendet. Sie müssen einen Dateinamen in einem schreibbaren Verzeichnis angeben:

[accounting]
 
	magic script = tally.sh
 
	magic output = /var/log/magicoutput
 

Fehlt diese Option, trägt die Standardausgabedatei den Namen des Skripts (wie in der Option magic script) mit der Erweiterung .out.

Internationalisierung

Beginnend mit Samba 3.0, unterstützt Samba von sich aus Unicode. Es sind also von Ihrer Seite keine zusätzlichen Anstrengungen erforderlich, um Dateinamen und anderen Text zu unterstützen, die Zeichen in internationalen Zeichensätzen enthalten.

Internationalisierungsoptionen

Samba 2.2.x besitzt eine begrenzte Fähigkeit, fremde Sprachen zu »sprechen«: Wenn Sie Dateinamen mit Zeichen unterstützen müssen, die nicht dem Standard-ASCII-Zeichensatz entstammen, können einige der Optionen aus Tabelle 11-3 Ihnen dabei helfen.

Tabelle 11-3
Internationalisierungsoptionen 
Option
Parameter
Funktion
Vorgabewert
Geltungsbereich
client code page
beschrieben in diesem Abschnitt
Gibt die Code-Seite an, die Samba von den Clients zu erwarten hat.
850
global
character set
beschrieben in diesem Abschnitt
Übersetzt Code-Seiten in alternative Unix-Zeichensätze.
keiner
global
coding system
beschrieben in diesem Abschnitt
Übersetzt Code-Seite 932 in einen asiatischen Zeichensatz.
keiner
global
valid chars
String (Menge von Zeichen)
Fügt einer Code-Seite einzelne Zeichen hinzu.
keiner
global

client code page

Die Zeichensätze auf Windows-Plattformen basieren auf dem ursprünglichen Konzept von Code-Seiten (engl. Code Pages). Diese Code-Seiten werden von DOS- und Windows-Computern verwendet, um die Regeln für die Abbildung von Kleinbuchstaben auf Großbuchstaben festzulegen. Samba unterstützt mit Hilfe der globalen Option client code page zahlreiche Code-Seiten, so dass Sie diejenige auswählen können, die der Client verwendet. Diese Option lädt eine Code-Seiten-Definitionsdatei und kann die in Tabelle 11-4 zusammengefassten Werte annehmen.

Tabelle 11-4
Für Samba 2.0 gültige Code-Seiten 
Code-Seite
Definition
437
MS-DOS Latin (Vereinigte Staaten von Amerika)
737
Windows 95 Griechisch
850
MS-DOS Latin 1 (Westeuropäisch)
852
MS-DOS Latin 2 (Osteuropäisch)
861
MS-DOS Isländisch
866
MS-DOS Kyrillisch (Russisch)
932
MS-DOS Japanisch Shift-JIS
936
MS-DOS Vereinfachtes Chinesisch
949
MS-DOS Koreanisch Hangul
950
MS-DOS Traditionelles Chinesisch

Sie können die Client-Code-Seite folgendermaßen einstellen:

[global]
 
	client code page = 852
 

Der Vorgabewert für diese Option ist 850 für MS-DOS Latin 1. Mit dem Dienstprogramm make_smbcodepage, das mit Samba geliefert wird (üblicherweise im Verzeichnis /usr/local/samba/bin ), können Sie Ihre eigenen SMB-Code-Seiten erzeugen, falls die hier aufgeführten Ihnen nicht genügen.

character set

Die globale Option character set dient der Konvertierung von Dateinamen, die ein Client mit einer DOS-Code-Seite anspricht (siehe vorherigen Abschnitt »client code page«). Dabei konvertiert Samba bestimmte DOS-Zeichen in bestimmte Unix-Zeichen. Wenn Sie zum Beispiel den westeuropäischen DOS-Zeichensatz eines Clients in einen westeuropäischen Unix-Zeichensatz konvertieren wollen, geben Sie folgende Option in der Konfigurationsdatei an:

[global]
 
	client code page = 850
 
	character set = ISO8859-1
 

Beachten Sie, dass Sie auch die Option client code page aufnehmen müssen, um den Zeichensatz festzulegen, aus dem Sie die Konvertierung vornehmen. Die gültigen Zeichensätze (und ihre entsprechenden Code-Seiten), die Samba akzeptiert, sind in Tabelle 11-5 aufgeführt.

Tabelle 11-5
Gültige Zeichensätze
Zeichensatz
Entsprechende Code-Seite
Definition
ISO8859-1
850
Westeuropäisch, Unix
ISO8859-2
852
Osteuropäisch, Unix
ISO8859-5
866
Russisch (Kyrillisch), Unix
ISO8859-7
737
Griechisch, Unix
KOI8-R
866
Russische (Alternativ), Unix

Normalerweise ist die Option character set deaktiviert.

coding system

Die Option coding system ähnelt der Option character set. Ihr Zweck besteht darin, Zeichen aus der japanischen JIS-Code-Seite in einen entsprechenden Unix-Zeichensatz umzuwandeln. Auch um diese Option verwenden zu können, müssen Sie außerdem die bereits beschriebene Option client code page auf den Wert 932 setzen. Die von Samba akzeptierten Kodierungssysteme finden Sie in Tabelle 11-6.

Tabelle 11-6
Gültige Werte für die Option coding system 
Zeichensatz
Definition
SJIS
Standard Shift JIS
JIS8
Acht-Bit-JIS-Codes
J8BB
Acht-Bit-JIS-Codes
J8BH
Acht-Bit-JIS-Codes
J8@B
Acht-Bit-JIS-Codes
J8@J
Acht-Bit-JIS-Codes
J8@H
Acht-Bit-JIS-Codes
JIS7
Sieben-Bit-JIS-Codes
J7BB
Sieben-Bit-JIS-Codes
J7BH
Sieben-Bit-JIS-Codes
J7@B
Sieben-Bit-JIS-Codes
J7@J
Sieben-Bit-JIS-Codes
J7@H
Sieben-Bit-JIS-Codes
JUNET
JUNET-Codes
JUBB
JUNET-Codes
JUBH
JUNET-Codes
JU@B
JUNET-Codes
JU@J
JUNET-Codes
JU@H
JUNET-Codes
EUC
EUC-Codes
HEX
drei Byte langer Hexadezimal-Code
CAP
drei Byte langer Hexadezimal-Code (Columbia AppleTalk Program)

valid chars

Die Option valid chars kann verwendet werden, um eine Code-Seite um einzelne Zeichen zu erweitern. Sie benutzen diese Option folgendermaßen:

valid chars = Î
 
valid chars = 0450:0420 0x0A20:0x0A00
 
valid chars = A:a
 

Trennen Sie die einzelnen Zeichen in der Liste durch Leerzeichen voneinander. Wenn sich zwischen zwei Zeichen oder ihren numerischen Äquivalenten ein Doppelpunkt befindet, werden die Daten links vom Doppelpunkt als Groß- und die Zeichen rechts vom Doppelpunkt als Kleinbuchstaben angesehen. Sie können Zeichen sowohl literal (falls Sie sie eintippen können) als auch durch ihre oktalen, hexadezimalen oder dezimalen Unicode-Äquivalente darstellen.

Diese Option muss hinter der Option client code page stehen, zu der Sie ein Zeichen hinzufügen wollen.

Der Windows-Nachrichtendienst

Eines der eigenartigen Merkmale des SMB-Protokolls ist seine Fähigkeit, Textnachrichten zwischen Computern auszutauschen. Obwohl die Funktionalität der von Windows Messenger ähnelt, ist es nicht das Gleiche. Windows Messenger (auch als MSN Messenger bezeichnet) ist ein Internet-orientierter Nachrichtendienst, während es sich beim Windows-Nachrichtendienst um einen älteren und einfacheren LAN-orientierten Dienst handelt. Beim Windows-Nachrichtendienst können Nachrichten an Benutzer, einzelne Computer oder ganze Arbeitsgruppen im Netzwerk gerichtet werden.

Das Programm WinPopup (Winpopup.exe), das in Abbildung 11-1 zu sehen ist, kann unter Windows 95/98/Me zum Senden oder Empfangen von Nachrichten eingesetzt werden. WinPopup ist ganz praktisch zum Versenden von Nachrichten. Um jedoch Nachrichten zu empfangen, muss es bereits in Betrieb sein, wenn die Nachricht am entfernten System abgeschickt wird.
Abbildung 11-1
Das Senden einer Nachricht von einem Windows 95/98/Me-System (links);
das Empfangen einer Nachricht (rechts)

Unter Windows NT/2000/XP erlaubt der Nachrichtendienst den Empfang von Nachrichten, ohne dass bereits eine Anwendung laufen muss; die Nachrichten erscheinen beim Empfang automatisch in einem kleinen Dialogfeld auf dem Bildschirm, wie in Abbildung 11-2 zu sehen.
Abbildung 11-2
Empfangen einer Nachricht auf einem Windows 2000-System

Um Nachrichten zu verschicken, muss der Befehl net send in einem Eingabeaufforderungsfenster verwendet werden:

C:\> net send maya "Wer ist dort?"
 
The message was successfully sent to MAYA.
 

Konfigurationsoption für den Windows-Nachrichtendienst

Samba enthält eine einzige Option für den Windows-Nachrichtendienst, nämlich message command, zu sehen in Tabelle 11-7.

Tabelle 11-7
Konfigurationsoption für den Windows-Nachrichtendienst
Option
Parameter
Funktion
Vorgabewert
Geltungsbereich
message command
String (Shell-Befehl)
Legt einen Befehl fest, der unter Unix ausgeführt wird, wenn eine WinPopup-Nachricht ankommt.
keiner
global

message command

Die Samba-Option message command definiert den Befehl, der auf dem Server ausgeführt wird, wenn eine Nachricht vom Windows-Nachrichtendienst ankommt. Der Befehl wird mit den Berechtigungen des Benutzers ausgeführt, den Sie über guest account angegeben haben. Was mit den Nachrichten gemacht werden soll, ist fraglich, da die meisten Samba-Server als selbstständige Server laufen. Eine Lösung besteht darin, die Nachrichten an root zu senden:

[global]
 
	message command = /bin/mail -s "SMB-Nachricht von %f auf %m" root <%s; rm %s
 

Beachten Sie die Verwendung von Variablen an dieser Stelle. Die Variable %s wird durch den Namen der Datei ersetzt, in der sich die Nachricht befindet. Diese Datei sollte gelöscht werden, wenn das Programm beendet wird, weil sich sonst Nachrichtendateien auf dem Samba-Server anhäufen könnten. Außerdem muss der Befehl sich entweder schnell beenden oder seinen eigenen Prozess teilen (mit & nach dem Befehl); ansonsten wartet der Client möglicherweise endlos auf eine Meldung, dass seine Nachricht angekommen ist.

Neben den Standardvariablen können Sie mit der Option message command drei weitere Variablen verwenden. Diese sind in Tabelle 11-8 dargestellt.

Tabelle 11-8
Variablen für den Wert der Option message command
Variable
Definition
%s
Name der Datei, in der sich die Nachricht befindet
%f
Name des Systems, das die Nachricht gesandt hat
%t
Name des Systems, das Ziel der Nachricht ist

Diverse Optionen

Viele Samba-Optionen behandeln betriebssystemabhängige Probleme, die jeweils mit Windows und Unix auftreten können. Einige dieser Optionen werden speziell dazu verwendet, die Benutzung der Ressourcen auf dem Unix-Server durch die Clients zu beschränken. Die in Tabelle 11-9 aufgeführten Optionen kümmern sich um einige dieser Probleme.

Tabelle 11-9
Diverse Optionen 
Option
Parameter
Funktion
Vorgabewert
Geltungsbereich
deadtime
numerischer Wert (Minuten)
Dauer der Inaktivität (in Minuten), bevor eine Verbindung geschlossen werden sollte.
0
global
dfree command
String (Befehl)
Gibt einen Befehl an, der Informationen über den freien Festplattenplatz in einem Samba bekannten Format zurückliefert.
keiner
global
fstype
NTFS, FAT oder Samba
Dateisystemtyp, der vom Server an den Client übermittelt wird.
NTFS
global
keepalive
numerischer Wert (Sekunden)
Zeitdauer (in Sekunden) zwischen den Tests, ob ein Client in Betrieb ist.
300
(keiner)
global
max disk size
numerischer Wert (MByte)
Größte Festplattengröße, die an einen Client, von denen manche Beschränkungen unterliegen, zurückzuliefern ist. Beeinflusst nicht die eigentlichen Arbeiten auf der Platte.
0
(unendlich)
global
max mux
numerischer Wert
Maximale Anzahl gleichzeitiger SMB-Operationen, die Clients ausführen können.
50
global
max open files
numerischer Wert
Setzt die Anzahl der offenen Dateien auf einen Wert unterhalb der bei Unix vorhandenen Grenze.
10000
global
max xmit
numerischer Wert
Legt die maximale Paketgröße fest, die Samba versendet.
65535 oder 16644
global
nt pipe support
Boolescher Wert
Deaktiviert eine Funktion zur Unterstützung von NT/2000/XP; für Benchmarks oder im Fehlerfall.
yes
global
nt smb support
Boolescher Wert
Deaktiviert eine Funktion zur Unterstützung von NT/2000/XP; für Benchmarks oder im Fehlerfall.
yes
global
ole locking compatibility
Boolescher Wert
Weist außerhalb des gültigen Bereichs liegende, unter Windows verwendete Sperranfragen neu zu, um sie in den unter Unix erlaubten Bereich zu bringen. Das Deaktivieren dieser Option verursacht Fehler unter Unix.
yes
global
panic action
String
Befehl, der ausgeführt werden soll, falls der Samba-Server abstürzt; für die Fehlerbehebung.
keiner
global
set directory
Boolescher Wert
Wenn yes, wird VMS-Clients erlaubt, set dir-Befehle auszuführen.
no
global
status
Boolescher Wert
Wenn yes, wird Samba erlaubt, den Status für den Befehl smbstatus zu überwachen.
yes
global
strict sync
Boolescher Wert
Wenn no, werden Anfragen von Windows-Programmen ignoriert, die eine Synchronisierung auf die Platte ausführen wollen.
no
global
sync always
Boolescher Wert
Wenn yes, müssen alle Schreibanforderungen von Clients abgearbeitet worden sein, bevor der Aufruf beendet werden kann.
no
global
strip dot
Boolescher Wert
Wenn yes, werden abschließende Punkte von Unix-Dateinamen entfernt.
no
global
change notify timeout
numerischer Wert (Sekunden)
Zeitdauer zwischen den Tests, wenn ein Client auf eine Änderung in einem bestimmten Verzeichnis wartet.
60
global
stat cache
Boolescher Wert
Wenn yes, speichert Samba aktuelle Namenszuordnungen ab.
yes
global
stat cache size
numerischer Wert
Anzahl der Einträge im stat-Cache.
50
global

deadtime

Mit dieser globalen Option können Sie die Anzahl der Minuten festlegen, die der Samba-Server wartet, bevor er eine Sitzung mit einem nicht-aktiven Client schließt. Samba betrachtet einen Client als inaktiv, wenn er keine Dateien geöffnet hat und keine Daten an den Server sendet. Die Vorgabe für diese Option ist 0, so dass Samba niemals Sitzungen schließt, selbst wenn Clients inaktiv sind. Dies kann allerdings zu einer unnötigen Inanspruchnahme von Ressourcen des Servers durch inaktive Clients führen. Wir empfehlen Ihnen, den Vorgabewert folgendermaßen zu überschreiben:

[global]
 
	deadtime = 10
 

Dies weist Samba an, Sitzungen zu nicht-aktiven Clients nach zehn Minuten zu schließen. In den meisten Netzwerken entstehen dadurch keine Probleme, weil Clients in der Lage sind, geschlossene Verbindungen erneut aufzubauen, und zwar transparent für den Benutzer des Clients. Siehe auch den Parameter keepalive.

dfree command

Diese globale Option wird auf Systemen eingesetzt, die nicht in der Lage sind, den freien Platz auf der Festplatte korrekt zu ermitteln. Das einzige bekannte System, auf dem Sie diese Option verwenden müssen, ist Ultrix. Die Option besitzt keinen Vorgabewert, da Samba normalerweise weiß, wie es den freien Platz berechnen muss und die Ergebnisse als zuverlässig angesehen werden. Sie können den Wert folgendermaßen festlegen:

[global]
 
	dfree command = /usr/local/bin/dfree
 

Der Wert dieser Option sollte auf ein Skript oder Programm verweisen, das die Kapazität der Festplatte in Blöcken und die Anzahl der freien Blöcke zurückmeldet. Die Samba-Dokumentation empfiehlt das Folgende als verwendbares Skript:

#!/bin/sh
 
df $1 | tail -1 | awk '{print $2" "$4}'
 

Auf Maschinen mit System V können Sie diese Zeilen einsetzen:

#!/bin/sh
 
/usr/bin/df $1 | tail -1 | awk '{print $3" "$5}'
 
fstype

Diese Option auf Freigabeebene legt den Dateisystemtyp fest, den Samba meldet, wenn es von einem Client danach gefragt wird. Drei Strings können als Wert dieser Konfigurationsoption verwendet werden, wie in Tabelle 11-10 gezeigt.

Tabelle 11-10
Dateisystemtypen
Wert
Definition
NTFS
Microsoft Windows NT-Dateisystem
FAT
DOS FAT-Dateisystem
Samba
Samba-Dateisystem

Vorgabe für diese Option ist NTFS, das heißt die Repräsentation eines Windows NT-Dateisystems. Es ist wahrscheinlich nicht notwendig, einen anderen Dateisystemtyp festzulegen. Sollte es jedoch doch einmal der Fall sein, können Sie den Vorgabewert für eine Freigabe folgendermaßen außer Kraft setzen:

[data]
 
	fstype = FAT
 
keepalive

Mit dieser globalen Option können Sie die Anzahl der Sekunden bestimmen, die zwischen dem Versand von zwei NetBIOS-keepalive-Paketen vergehen sollen. Mit diesen Paketen wird getestet, ob ein Client noch aktiv und im Netzwerk ist. Der Vorgabewert dieser Option ist 300 (5 Minuten). Verändern Sie diesen Wert so:

[global]
 
	keepalive = 600
 

Der Wert 600 (10 Minuten) ist gut für Netzwerke, in denen zuverlässige Clients laufen. Enthält Ihr Netzwerk relativ unzuverlässige Clients, sollten Sie keepalive besser auf einen niedrigeren Wert setzen, etwa auf 30. Wird keepalive auf 0 gesetzt, werden überhaupt keine NetBIOS-keepalive-Pakete verschickt. Siehe auch den Parameter deadtime.

max disk size

Diese globale Option legt für alle Freigaben, die Samba anbietet, eine scheinbare Grenze in MByte fest. Sie beeinflusst allerdings nur, wie viel Festplattenplatz Samba für die Freigabe angibt, und verhindert nicht, dass tatsächlich mehr Plattenplatz verwendet wird. Üblicherweise setzen Sie diese Option, um zu verhindern, dass Clients mit älteren Betriebssystemen - oder fehlerhaften Anwendungen - von großen Festplattengrößen verwirrt werden. So geraten beispielsweise einige ältere Windows-Programme durcheinander, wenn sie eine Freigabe entdecken, die größer als 1 GByte ist. Um dieses Problem zu umgehen, kann max disk size folgendermaßen eingestellt werden:

[global]
 
	max disk size = 1000
 

Der Vorgabewert für diese Option lautet 0, was bedeutet, dass es keine obere Grenze gibt.

max mux

Diese globale Option legt die maximale Anzahl der gleichzeitig möglichen SMB-Operationen fest, die Samba erlaubt. Der Vorgabewert für diese Option ist 50. Sie können ihn folgendermaßen ändern:

[global]
 
	max mux = 100
 
max open files

Diese globale Option legt die maximale Anzahl offener Dateien fest, die Samba zu einem bestimmten Zeitpunkt für alle Prozesse erlauben soll. Dieser Wert muss gleich oder kleiner dem für das Betriebssystem erlaubten Wert sein und ist von System zu System unterschiedlich. Der Vorgabewert für diese Option ist 10000. Sie können ihn folgendermaßen ändern:

[global]
 
	max open files = 8000
 
max xmit

Diese globale Option legt die maximale Größe von Paketen fest, die Samba mit einem Client austauschen kann. In seltenen Fällen können kleinere Pakete die Leistung steigern, besonders mit Windows for Workgroups-Clients. In Samba-Versionen bis 2.2.5 lag der Vorgabewert für diese Option bei 65535. In 2.2.7 und späteren Versionen wurde die Vorgabe auf 16644 geändert, um dem Verhalten von Windows 2000 zu entsprechen und die Unterstützung für Windows NT 4.0 zu verbessern. Sie können den Vorgabewert folgendermaßen ändern:

[global]
 
	max xmit = 4096
 
nt pipe support

Diese globale Option wird von Entwicklern verwendet, die es Windows NT/2000/XP-Clients erlauben oder verbieten wollen, Verbindungen zu den NT-spezifischen SMB IPC$-Pipes herzustellen. Als gewöhnlicher Benutzer werden Sie den Vorgabewert niemals ändern müssen.

[global]
 
	nt pipe support = yes
 
nt smb support

Diese globale Option wird von Entwicklern verwendet, um NT-spezifische SMB-Optionen mit Windows NT/2000/XP-Clients auszuhandeln. Das Samba-Team hat festgestellt, dass die Leistung ihrer Software etwas höher ist, wenn der Wert dieser Option no beträgt. Dennoch sollten Sie als Benutzer die Vorgabe niemals ändern.

[global]
 
	nt smb support = yes
 
ole locking compatibility

Mit dieser globalen Option können Sie Sambas interne Sperrung von Bereichen innerhalb von Dateien ein- oder ausschalten. Diese Funktionalität stellt die Kompatibilität mit Object Linking and Embedding-(OLE-)Anwendungen bereit, die Bereichssperrungen als Methode zur Kommunikation zwischen Prozessen benutzen. Die Vorgabe für diese Option ist yes. Wenn Sie Ihrem Unix-Sperrmechanismus trauen, können Sie den Wert ändern.

[global]
 
	ole locking compatibility = no
 
panic action

Diese globale Option gibt einen Befehl an, den Samba ausführt, wenn im Betrieb oder beim Start ein nicht behebbarer Fehler auftritt. Es gibt keinen Vorgabewert für diese Option. Sie können folgendermaßen eine Aktion festlegen:

[global]
 
	panic action = /bin/csh -c
 
          'xedit <<: "Samba has shutdown unexpectedly";:'
 
set directory

Diese Boolesche Option auf Freigabeebene erlaubt es Digital Pathworks-Clients, mit dem setdir-Befehl in Verzeichnisse auf dem Server zu wechseln. Wenn Sie den Digital Pathworks-Client nicht verwenden, benötigen Sie diese Option nicht. Der Vorgabewert für diese Option ist no. Sie können ihn auf Freigabeebene folgendermaßen ändern:

[data]
 
	set directory = yes
 
status

Diese globale Option gibt an, ob Samba alle aktiven Verbindungen in einer Statusdatei aufzeichnen soll. Diese Datei wird ausschließlich vom Befehl smbstatus verwendet. Wenn Sie diesen Befehl nicht verwenden wollen, können Sie für diese Option den Wert no angeben, wodurch der Server ein wenig schneller arbeitet. Die Vorgabe ist yes. Sie können sie folgendermaßen ändern:

[global]
 
	status = no
 
strict sync

Diese Option auf Freigabeebene legt fest, ob Samba Client-Anfragen zur Festplatten-Synchronisierung beachten soll. Viele Windows-Clients senden eine solche Anfrage schon bei dem Versuch, Daten in ihre eigenen offenen Dateien zu schreiben. In diesem Fall ist eine Festplatten-Synchronisierung unter Unix auf Grund seiner hohen Zuverlässigkeit im Allgemeinen unnötig; sie hat im Großen und Ganzen vor allem den Effekt, dass sie die Leistung des Samba-Host-Systems deutlich vermindert. Der Vorgabewert für diese Option ist no, wodurch überflüssige Anfragen nach Festplatten-Synchronisierungen ignoriert werden. Sie können diesen Wert folgendermaßen ändern:

[data]
 
	strict sync = yes
 
sync always

Diese Option auf Freigabeebene bestimmt, ob jedem Schreibzugriff auf die Festplatte eine Festplatten-Synchronisierung folgen soll, bevor der Schreibaufruf die Kontrolle an den Client zurückgibt. Selbst wenn der Wert dieser Option no ist, können Clients eine Festplatten-Synchronisierung anfordern; beachten Sie dazu die Option strict sync. Der Vorgabewert ist no. Sie können ihn für eine Freigabe folgendermaßen ändern:

[data]
 
	sync always = yes
 
strip dot

Legen Sie mit dieser globalen Option fest, ob der abschließende Punkt in einem Unix-Dateinamen entfernt wird. Der Vorgabewert dieser Option ist no. Sie können ihn auf Freigabeebene folgendermaßen ändern:

[global]
 
	strip dot = yes
 
change notify timeout

Die globale Option change notify timeout emuliert ein Windows NT/2000-SMB-Merkmal namens Änderungsbenachrichtigung. Dieses erlaubt es einem Client anzufordern, dass ein Windows NT/2000-Server ein bestimmtes Verzeichnis in einer Freigabe regelmäßig auf Änderungen hin überprüft. Treten Änderungen auf, benachrichtigt der Server den Client.

Samba führt diese Funktion für seine Clients in einem Intervall aus, das standardmäßig 1 Minute (60 Sekunden) beträgt. Werden diese Überprüfungen zu oft ausgeführt, verlangsamt das den Server merklich; Sie können diese Option jedoch verwenden, um eine andere Zeitdauer festzulegen, die Samba zwischen den Tests warten soll:

[global]
 
	change notify timeout = 30
 
stat cache

Die globale Option stat cache aktiviert die Zwischenspeicherung für kürzlich durchgeführte, schreibweisenunabhängige Namenszuordnungen. Vorgabe ist yes. Das Samba-Team empfiehlt, diesen Parameter niemals zu ändern.

stat cache size

Die globale Option stat cache size legt die Anzahl der Cache-Einträge fest, die für die Option stat cache verwendet werden. Der Vorgabewert ist 50. Auch hier empfiehlt das Samba-Team, diesen Parameter niemals zu ändern.


TOC PREV NEXT INDEX

Copyright © 2003 by O'Reilly Verlag GmbH & Co.KG