Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Inhaltsverzeichnis


Previous: 7.3 Namensauflösung unter Samba Kapitel 8 Next: 8.2 Magic Scripts
 

8. Zusätzliche Information über Samba

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 = yes

Wenn 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 = yes

Der 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 /SET

Dieser Befehl kann in ein Windows-Logonskript eingetragen werden (siehe Kapitel 6, User, Security und Domains ).

In der Voreinstellung ist die Option time server normal auf no 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 = 30

8.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 auf yes 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 = yes

Wir 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 = yes

Wenn 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.


Previous: 7.3 Namensauflösung unter Samba Next: 8.2 Magic Scripts
7.3 Namensauflösung unter Samba Buch-Index (engl.) 8.2 Magic Scripts

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.