Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
8. Zusätzliche Information über Samba
Inhalt:
Unterstützung von Programmierern
Magic Scripts
Internationalisierung
WinPopup Messages
Kürzlich hinzugekommene Optionen
Verschiedene Optionen
Backups mit smbtar
Dieses Kapitel beendet unsere Betrachtung der Konfigurationsdatei smb.conf mit einigen diversen Optionen, die eine Vielfalt von Aufgaben durchführen können. Wir werden kurz über Optionen zur Unterstützung von Programmierern, Internationalisierung, Messages und bekannte Windows-Bugs sprechen. Hauptsächlich brauchst du diese Optionen nur unter isolierten Umständen. Wir besprechen auch die Durchführung automatischer Backups mit dem Befehl smbtar am Ende dieses Kapitels. So lasst uns ohne weiteres in unsere erste Aufgabe springen: Optionen, die Programmierern helfen.
8.1 Unterstützung von Programmierern
Wenn du Programmierer hast, die auf deinen Sambaserver zugreifen, wirst du die in Tabelle 8.1 angeführten Spezialoptionen wissen wollen.
Tabelle 8.1: Konfigurations-Optionen zum Programmieren Option
Parameter
Funktion
Vorgabe
Bereich
time server
boolean
Wenn
yes
, dann kündigt sich nmbd selbst den Windows-Clients als SMB-Zeitservice an.
no
Global
time offset
numerisch (Anzahl der Minuten)
Addiert eine bestimmte Anzahl von Minuten zur gemeldeten Zeit.
0
Global
dos filetimes
boolean
Erlaubt Nichtbesitzern einer Datei, ihre Zeit zu ändern, wenn sie Schreibzugriff haben.
no
Share
dos filetime
resolution
boolean
Verursacht Dateizeiten, die auf die nächste gerade Sekunde gerundet werden.
no
Share
fake directory create times
boolean
Setzt Verzeichnis-Zeiten zum Vermeiden eines MS nmake-Bug.
no
Share
8.1.1 Zeit-Synchronisation
Zeit-Synchronisation kann sehr wichtig für Programmierer sein. Denk über folgende Optionen nach:
time service = yes dos filetimes = yes fake directory create times = yes dos filetime resolution = yes delete readonly = yesWenn du diese Optionen setzt, werden Samba-Shares die Art von kompatiblen Dateizeiten liefern, die Visual C++, nmake und andere Microsoft Programmiertools brauchen. Andernfalls werden PC make-Programme tendieren zu denken, dass alle Dateien in einem Verzeichnis jedes Mal neu kompiliert werden müssen. Offensichtlich ist das nicht das Verhalten, das du willst.
8.1.1.1 time server
Wenn dein Sambaserver eine genaue Uhr hat oder wenn er ein Client eines der Unix Netzwerk-Zeitserver ist, kannst du ihn anweisen, sich selbst als SMB Zeitserver anzukündigen, indem du die Option
time
server
wie folgt einrichtest:[global] time service = yesDer Client muss noch die korrekte Zeit mit dem folgenden DOS-Befehl abrufen, indem man den Namen des Sambaservers an der entsprechenden Stelle einsetzt:
C:\NET TIME \\server
/YES /SETDieser Befehl kann in ein Windows-Logonskript eingetragen werden (siehe Kapitel 6, User, Security und Domains ).
In der Voreinstellung ist die Option
time
server
normal aufno
gesetzt. Wenn du diesen Dienst einrichtest, kannst du den Befehl oben verwenden, um die Client-Uhren vor Ungenauigkeit zu bewahren. Zeit-Synchronisation ist für Clients wichtig, die Programme wie make verwenden, welche auf den letzten Zeitpunkt gestützt kompilieren, an dem die Datei geändert wurde. Unkorrekt synchronisierte Zeitpunkte können bewirken, dass solche Programme entweder alle Dateien in einem Verzeichnis neu kompilieren, was Zeit verschwendet, oder wegen einer geringfügigen Zeitungenauigkeit eine Quelldatei nicht rekompilieren, die gerade modifiziert wurde.8.1.1.2 time offset
Um mit Clients, welche die Umstellung auf die Sommerzeit nicht richtig verarbeiten, umzugehen, stellt Samba die Option
time
offset
zur Verfügung. Wenn sie gesetzt ist, addiert sie die festgelegte Anzahl Minuten zur momentanen Zeit. Das ist praktisch, wenn du in Neufundland wohnst und Windows nichts über die 30-minütige Zeitdifferenz hier weiß:[global] time offset = 308.1.1.3 dos filetimes
Traditionellerweise können nur der User Root und der Eigentümer einer Datei ihr zuletzt modifiziertes Datum auf einem Unix-System ändern. Die Share-Level Option
dos
filetimes
erlaubt dem Sambaserver, die Eigenschaften einer DOS/Windows-Maschine nachzuahmen: jeder User kann das zuletzt modifizierte Datum auf einer Datei in dieser Share ändern, wenn er oder sie Schreibberechtigung darauf haben. Damit dies getan werden kann, verwendet Samba seine Root-Privilegien, um die Zeitmarke der Datei zu ändern.Von der Vorgabe her ist diese Option augeschaltet. Die Option auf
yes
zu setzen ist oft notwendig, damit PC make-Programme richtig arbeiten dürfen. Ohne sie können sie das zuletzt geänderte Datum nicht selbst ändern. Das resultiert oft im Bestreben des Programms, alle Dateien müssen rekompiliert werden, wenn sie es in Wirklichkeit nicht nötig haben.8.1.1.4 dos filetime resolution
dos
filetime
resolution
ist eine Share-Level-Option. Wenn sie aufyes
gesetzt ist, veranlasst Samba, dass die Datei-Zeitmarken auf die nächste Zwei-Sekundengrenze gerundet werden. Diese Option existiert in erster Linie zur Erfüllung einer Eigenart in Windows, die Visual C++ daran hindert, korrekt zu erkennen, dass eine Datei sich nicht verändert hat. Du kannst sie wie folgt einschalten:[data] dos filetime resolution = yesWir empfehlen den Gebrauch dieser Option nur, wenn du Microsoft Visual C++ auf einer Share verwendest, die opportunistic locking unterstützt.
8.1.1.5 fake directory create times
Die Option
fake
directory
create
times
existiert, um PC make-Programme nicht zu verwirren. VFAT und NTFS-Dateisysteme zeichnen das Erstellungsdatum eines bestimmten Verzeichnisses auf, während Unix das nicht tut. Ohne diese Option nimmt Samba das frühest aufgezeichnete Datum, das es für das Verzeichnis hat (oft das letzt-modifizierte Datum einer Datei), und retourniert es zum Client. Genügt das nicht, setz die folgende Option unter einer Share-Definition:[data] fake directory create times = yesWenn das gesetzt ist, wird Samba die auszugebende Erstellungszeit des Verzeichnisses an den Wert 1. Jänner 1980 anpassen. Das wird in erster Linie verwendet, um das Visual C++ nmake-Programm zu überzeugen, dass irgendwelche Object-Dateien in ihren Build-Verzeichnissen tatsächlich jünger als das Erstellungsdatum des Verzeichnisses selbst sind und rekompiliert werden müssen.
© 1999, O'Reilly & Associates, Inc.