Kapitel 13. Zugriffskontrollen für Dateien, Verzeichnisse und Netzwerk-Freigaben

John H. Terpstra

Samba Team

Jeremy Allison

Samba Team

Jelmer R. Vernooij

drawing
Samba Team

John H. Terpstra

Samba Team

Joachim Luft

Deutsche Übersetzung
German Samba-3-Docs-Translation Team

April 3 2003

Inhaltsverzeichnis

Möglichkeiten und Vorteile
Die Zugriffskontrollen des Dateisystems
Vergleich zwischen NTFS und dem UNIX-Dateisystem
Verwaltung von Verzeichnissen
Die Verwaltung der Zugriffskontrollen von Dateien und Ordnern (Verzeichnissen)
Zugriffskontrollen für Freigabedefinitionen
Benutzer- und gruppen-basierende Kontrollen
Kontrollen, die auf Datei- und Verzeichnis-Berechtigungen basieren
Allgemeine Kontrollen
Zugriffskontrollen auf Freigaben
Verwaltung von Freigabeberechtigungen
MS Windows-Zugriffskontroll-Listen (ACLs) und UNIX-Wechselwirkungen
Verwalten von UNIX-Berechtigungen durch NT-Sicherheitsdialoge
Anzeigen von Dateisicherheit auf einer Samba-Freigabe
Anzeigen von Dateieigentümern
Das Anzeigen von Datei- oder Verzeichnisberechtigungen
Ändern von Datei- oder Verzeichnis-Berechtigungen
Die Wechselwirkung mit den Samba-Standard-Parametern create mask
Die Wechselwirkung mit den Standard-Samba-Dateiattribut-Vergaben
Gängige Fehler
Benutzer können nicht auf eine öffentliche Freigabe schreiben
Dateioperationen, die als root mit force user ausgeführt wurden
MS Word mit Samba ändert den Eigentümer einer Datei

Fortgeschrittene Windows-Benutzer sind häufig verwirrt, wenn sich eine Änderung der Besitzrexhte an Dateien oder Verzeichnissen auf dem Samba-Server nicht so auswirkt, wie sie es erwarten. MS-Administratoren verwirrt es oft, wenn sie versuchen, Ihre Daten mit Zugriffskontroll-Listen vor unerlaubten Zugriffen zu schützen.

Viele UNIX-Administratoren sind nicht mit der MS Windows-Umgebung vertraut. Besondere Probleme ergeben sich aus den Benutzerwünschen bezüglich der Kontrolle von Dateien und Verzeichnissen und deren Einrichtung.

Das Problem rührt aus den Unterschieden bei den Datei- und Verzeichnis-Benutzerrechten der beiden Systeme her. Diesen Unterschied kann auch Samba nicht wirklich aus der Welt schaffen, aber es schafft eine Brücke zwischen den Umgebungen.

Die POSIX-(UNIX, LINUX-)Zugriffskontroll-Technologie (ACLs) gibt es schon seit Jahren, aber sie wurde nie sehr intensiv genutzt. Dies erklärt vielleicht auch, warum es so lange gedauert hat, bis die die ACL-Technik in kommerzielle Linux-Produkte eingebunden wurde. MS-Administratoren wird dies erstaunen, da diese Technik seit Jahren elementarer Bestandteil von Windows-Produkten ist.

Dieses Kapitel soll die Punkte im Einzelnen klären, die mit Samba-3 nötig und möglich sind, damit Administratoren eine optimale Zugriffsverwaltung für ihre Windows-Benutzer einrichten können.

Samba ist nicht primär dafür gedacht, eine Unix-Plattform in eine Windows-Plattform zu verwandeln, sondern soll die bestmögliche Kompatibilität zwischen den beiden Systemen schaffen.

Möglichkeiten und Vorteile

Samba ermöglicht eine hohe Flexibilität beim Systemzugriff. Hier sind es die Zugriffskontrollmöglichkeiten der aktuellen Version 3 von Samba.

Samba-Zugriffskontrollmöglichkeiten

  • Unix-Datei- und -Verzeichnis-Berechtigungen

    Samba arbeitet mit den UNIX-Dateizugriffskontrollen zusammen. Benutzer greifen dabei als Windows-Benutzer auf Samba zu. Informationen über den Benutzer werden beim Einloggen übergeben. Samba benutzt diese Login-Informationen, um zu entscheiden, ob einem Benutzer Zugriff auf Systemdaten gewährt werden soll oder nicht. Dieses Kapitel enthält eine Übersicht über UNIX-Berechtigungen für Nutzer, die diese nicht kennen oder diese für etwas verwirrend halten.

  • Samba-Netzlaufwerksdefinitionen

    Beim Konfigurieren von Netzlaufwerken mit Samba in der Datei smb.conf kann der Administrator Berechtigungen des darunter liegenden Dateisystems verändern und beeinflussen. Dies ermöglicht teilweise eine Annäherung an das Verhalten, das Windows-Benutzer erwarten. Dieser Weg ist aber nur selten die beste Lösung. Die grundlegenden Möglichkeiten werden hier beschrieben.

  • Samba-Netzlaufwerkskontroll-Listen

    Wie in Windows NT ist es auch in Samba möglich, Netzlaufwerkskontroll-Listen zu erstellen. Einige Anwender machen Gebrauch davon. Es ist zurzeit eine der leichtesten Möglichkeiten, Zugriffskontrolle zu erreichen, im Gegensatz zu anderen komplexeren Methoden.

  • MS Windows-Zugriffskontroll-Listen und UNIX-Zugriffskontroll-Listen

    Der Gebrauch von UNIX-Kontroll-Listen ist nur möglich, wenn diese Funktionen in dem darunter liegenden Dateisystem implementiert sind. In jedem anderen Fall ist deren Nutzung nicht möglich. Aktuelle Unix-Systeme sollten diese Unterstützung bieten. Es gibt Patches für den Linux-Kernel, die diese Möglichkeit implementieren, falls sie noch nicht vorhanden ist. Viele Unix-Systeme werden mit der Unterstützung ausgeliefert, und in diesem Kapitel versuchen wir, den Benutzern deren Gebrauch zu erklären.

Die Zugriffskontrollen des Dateisystems

Es ist wichtig festzustellen, dass MS Windows ein völlig anderes Dateizugriffssystem benutzt als UNIX-Systeme. Wir werden erst die Unterschiede erklären und dann zeigen, wie Samba hilft, diese Unterschiede zu überbrücken.

Vergleich zwischen NTFS und dem UNIX-Dateisystem

Samba benutzt das UNIX-Dateisystem, d.h., Samba verhält sich innerhalb der Möglichkeiten des UNIX-Dateisystems. Aber Samba ist auch dafür verantwortlich, das Verhalten des Windows-Dateisystems nachzustellen.

Glücklicherweise bietet Samba eine Reihe von Konfigurationsmöglichkeiten, um die Unterschiede zu überbrücken. Wir werden einige dieser Einstellungsmöglichkeiten betrachten, jedoch nicht alle. Wer mehr wissen möchte, sollte die Manpage der Datei smb.conf lesen.

Im Folgenden sehen Sie einen Vergleich des UNIX-Dateisystems mit dem Dateisystem von Windows NT/200x:

Namensraum

Windows-Dateinamen können 254 Zeichen lang sein, UNIX beherrscht bis zu 1023 Zeichen. Die Dateierweiterung beschreibt in Windows einen bestimmten Dateityp, in UNIX-Systemen ist das nicht zwingend so.

Was unter Windows ein 'Ordner' ist, heißt in UNIX 'Verzeichnis'.

Groß-/Kleinschreibung

Im Allgemeinen sind Dateinamen unter Windows 8+3 Zeichen lang und werden in Großbuchstaben erstellt. Dateinamen, die länger sind, sind in ihrer Schreibweise case-insensitive (d.h., es spielt keine Rolle, ob sie groß- oder kleingeschrieben werden).

Unter UNIX sind alle Dateien und Verzeichnisse case-sensitive (d.h., es spielt sehr wohl eine Rolle, ob ein Dateiname groß- oder kleingeschrieben wird).

Im folgenden Beispiel würden die Dateinamen von Windows völlig gleich interpretiert werden, für UNIX wären es drei verschiedene Dateien:

				MYFILE.TXT
				MyFile.txt
				myfile.txt
		

Es wird ziemlich klar, dass diese Dateien in Windows nicht nebeneinander (im selben Ordner) stehen könnten, unter ist das UNIX jedoch jederzeit möglich.

Was soll nun Samba tun, wenn es auf diese Dateien trifft? Die Lösung besteht darin, dass die erste Datei für Windows-Benutzer sichtbar ist, die anderen jedoch nicht verfügbar bzw. unsichtbar sind; eine andere Lösung ist nicht denkbar.

Verzeichnis-Trennzeichen

MS Windows und DOS benutzen das Zeichen \ (Backslash) als Verzeichnis-Trennzeichen, UNIX benutzt (wie im Internet üblich) den Slash / als Verzeichnis-Trennzeichen. Dies wird von Samba transparent (für den Windows-Benutzer unbemerkt) umgesetzt.

Laufwerksbezeichnung

In MS Windows werden verschiedene Festplatten-Partitionen mit Buchstaben belegt. C: Es gibt unter UNIX kein ähnliches Konzept, Festplatten-Teile (Partitionen) werden als Teil des Dateisystems eingebunden (gemountet). Was unter DOS C:\ ist, wäre unter UNIX einfach / (root = Wurzel des Dateisystembaums).

Dateinamenskonvention

MS Windows kennt keine Dateien, deren Namen mit einem Punkt beginnen (.). In UNIX werden solche Dateien häufig in den „Home“-Verzeichnissen (Heimatverzeichnissen) von Benutzern gefunden. Punktdateien(.) sind typischerweise Start- oder Konfigurationsdateien für UNIX-Programme.

Verknüpfungen und Verkürzungen

Unter Windows sind Verknüpfungen spezielle Dateitypen, die zum verkürzten Starten von Programmen in deren realen Ordner dienen. Auch unter UNIX gibt es Verknüpfungen und Verkürzungen, diese werden jedoch völlig unterschiedlich gehandhabt.

Symbolische Verknüpfungen unter UNIX halten die aktuellen Informationen von Dateien oder Verzeichnissen. Schreib- und Lesezugriffe auf eine Verknüpfung verhalten sich genauso wie bei der originalen Datei. Symbolische Verknüpfungen nennt man auch weiche Verknüpfungen. Harte Verknüpfungen kennt MS Windows nicht, diese würden das Benutzen ein- und derselben Datei unter mehreren Namen gleichzeitig ermöglichen.

Es gibt noch viele Unterschiede, die einem Windows-Administrator unangenehm im Umgang mit UNIX sein könnten.

Verwaltung von Verzeichnissen

Es gibt grundsätzlich drei Möglichkeiten, um Ordner (Verzeichnisse) zu verwalten: create (erstellen), delete (löschen) und rename (umbenennen ).

Tabelle 13.1. Verwaltung von Ordnern (Verzeichnissen) mit UNIX und Windows

AktionWindows-BefehlUNIX-Befehl
createmd foldermkdir folder
deleterd folderrmdir folder
renamerename oldname newnamemv oldname newname

Die Verwaltung der Zugriffskontrollen von Dateien und Ordnern (Verzeichnissen)

Jedem Administrator wird geraten, zusätzlich Handbücher zu diesem Thema zu studieren. Die meisten Fälle können mit den grundlegenden Zugriffsmöglichkeiten von UNIX gelöst werden, ohne die Technologien der Zugriffskontroll-Listen (ACLs) oder der erweiterten Attribute (EAs) zu verwenden.

Die Datei- und Verzeichnisverwaltung von UNIX basiert auf den folgenden Zugriffsmöglichkeiten:

$ ls -la
total 632
drwxr-xr-x   13 maryo   gnomes      816 2003-05-12 22:56 .
drwxrwxr-x   37 maryo   gnomes     3800 2003-05-12 22:29 ..
dr-xr-xr-x    2 maryo   gnomes       48 2003-05-12 22:29 muchado02
drwxrwxrwx    2 maryo   gnomes       48 2003-05-12 22:29 muchado03
drw-rw-rw-    2 maryo   gnomes       48 2003-05-12 22:29 muchado04
d-w--w--w-    2 maryo   gnomes       48 2003-05-12 22:29 muchado05
dr--r--r--    2 maryo   gnomes       48 2003-05-12 22:29 muchado06
drwsrwsrwx    2 maryo   gnomes       48 2003-05-12 22:29 muchado08
----------    1 maryo   gnomes     1242 2003-05-12 22:31 mydata00.lst
--w--w--w-    1 maryo   gnomes     7754 2003-05-12 22:33 mydata02.lst
-r--r--r--    1 maryo   gnomes    21017 2003-05-12 22:32 mydata04.lst
-rw-rw-rw-    1 maryo   gnomes    41105 2003-05-12 22:32 mydata06.lst
$ 

Die Reihen oben repräsentieren (von rechts nach links): die Berechtigung, die Anzahl der „harten“ Links einer Datei, den Besitzer (einer Datei), die Besitzergruppe und die Größe in Bytes.

In ??? finden Sie eine Übersicht.

Abbildung 13.1. Übersicht über die UNIX-Berechtigungen

Übersicht über die UNIX-Berechtigungen

Jedes Bit kann auch unbesetzt sein und wird durch ein Minus (-) dargestellt.

Beispiel 13.1. Beispieldatei

		-rwxr-x---   Bedeutet: Der Besitzer kann lesen, schreiben und ausführen.
		                       Die Gruppe kann lesen und ausführen.
		                       Andere haben keine Rechte.
		

Zusätzliche Möglichkeiten im Typen-Feld [type] sind: c = character device, b = block device, p = pipe device, s = UNIX-Domain-Socket.

Die Zeichen rwxXst für die Berechtigungen für Nutzer, Gruppen und andere sind: lesen (r), schreiben (w), ausführen (oder Ordner-Zugriff) (x), exklusives Ausführen, wenn der Nutzer berechtigt für die Datei oder den Ordner ist (X), Setzen der ID des Nutzers bei Ausführung (s), Sticky-Bit (begleitendes Bit)(t).

Wenn das Sticky-Bit auf einem Verzeichnis gesetzt ist, können darin enthaltene Dateien nur vom Nutzer root oder dem Ersteller der Dateien gelöscht werden. In jedem anderem Fall sind alle anderen Dateivorgänge (löschen, lesen, umbenennen) erlaubt. Das Sticky-Bit wird häufig für Verzeichnisse wie das /tmp-Verzeichnis benutzt, die gewöhnlich für jeden beschreibbar sind.

Wenn auf einem Verzeichnis das Gruppen- oder Nutzer-Identitätsbit gesetzt ist, dann erhalten Nutzer und Gruppen Berechtigungen auf darin enthaltene Dateien. Dies ermöglicht das Erstellen von Verzeichnissen, in denen alle Nutzer einer Gruppe auf eine Datei zugreifen können sollen, insbesondere dann, wenn es nicht erwünscht ist, dass diese Datei exklusiv einem Benutzer gehört, der zu einer anderen primären Gruppe gehört als die übrigen Nutzer.

Falls ein Verzeichnis auf drw-r----- gesetzt ist, heißt dies, dass der Eigner in ihm Dateien lesen und schreiben (erstellen) kann, aber dadurch, dass das Ausführen-Flag (x) nicht gesetzt ist, können die Dateien in diesem Verzeichnis von niemandem gesehen werden. Die Gruppe kann Dateien lesen, aber keine neuen anlegen. Falls Dateien in dem Verzeichnis für die Gruppe les- oder schreibbar gesetzt sind, können die Gruppenmitglieder diese schreiben oder löschen.

Zugriffskontrollen für Freigabedefinitionen

Die folgenden Parameter in den Dateisektionen von smb.conf definieren eine Freigabekontrolle oder betreffen Zugriffskontrollen. Bevor Sie eine dieser folgenden Optionen benutzen, sehen Sie bitte in den Manpages für smb.conf nach.

Benutzer- und gruppen-basierende Kontrollen

Benutzer- und gruppen-basierende Kontrollen können sehr hilfreich sein. In manchen Situationen ist es sogar gewünscht, dass alle Dateisystem-Operationen behandelt werden, als wären sie von einem einzelnen Benutzer durchgeführt worden. Die Benutzung von force user und force group wird dies erreichen. In anderen Situationen ist es vielleicht notwendig, ein paranoides Maß an Kontrollen einzusetzen, um sicherzustellen, dass es nur bestimmten ausgewählten und autorisierten Personen möglich ist, auf eine Freigabe oder dessen Inhalt zuzugreifen. Hier kann die Benutzung von valid users oder invalid users am hilfreichsten sein.

Wie immer ist es höchst ratsam, die einfachste Methode für die Verwaltung und die eindeutigste Methode für die Zugriffskontrolle zu verwenden. Denken Sie daran, dass nach dem Verlassen Ihrer Arbeit jemand anderes Unterstützung geben können muss, und wenn er eine große Baustelle vorfindet oder Ihre Vorgehensweise nicht versteht, kann es durchaus möglich sein, dass Samba gelöscht wird oder eine alternative Lösung eingesetzt wird.

??? zählt diese Kontrollen auf.

Tabelle 13.2. Benutzer- und gruppen-basierende Kontrollen

KontrollparameterBeschreibung - Ausführung - Hinweise
admin users

Liste der Benutzer, denen Administrationsprivilegien auf der Freigabe erteilt werden. Sie werden alle Dateioperationen als Super-User (root) ausführen. Jeder Benutzer in dieser Liste wird in der Lage sein, alles auf der Freigabe zu machen, egal welche Dateiberechtigungen gesetzt wurden.

force group

Spezifiziert einen UNIX-Gruppennamen, der als primäre Standardgruppe allen Benutzern zugewiesen wird, die sich mit diesem Dienst verbinden.

force user

Spezifiziert einen UNIX-Benutzernamen, der als Standardbenutzer allen Benutzern zugewiesen wird, die sich mit diesem Dienst verbinden. Dies ist für das gemeinsame Nutzen von Dateien hilfreich. Die falsche Benutzung kann Sicherheitsprobleme verursachen.

guest ok

Falls dieser Parameter für einen Dienst gesetzt ist, wird kein Passwort verlangt, um sich mit diesem Dienst zu verbinden. Die Privilegien sind diejenigen des Gastzugangs.

invalid users

Liste der Benutzer, denen ein Anmelden an diesem Dienst nicht erlaubt wird.

only user

Kontrolliert, ob Verbindungen mit Benutzernamen, die nicht in der Liste enthalten sind, erlaubt werden.

read list

Liste der Benutzer, die einen Nur-Lesezugriff auf diesen Dienst haben. Benutzer in dieser Liste bekommen keinen Schreibzugriff, egal wie die Option 'read only' gesetzt wurde.

username

Sehen Sie in der smb.conf-Manpage für mehr Informationen nach -- dies ist ein komplexer Parameter, der häufig falsch angewendet wird.

valid users

Lister der Benutzer, denen das Anmelden an diesem Dienst erlaubt wird.

write list

Liste der Benutzer, denen Lese-Schreibzugriff auf diesen Dienst erlaubt wird.

Kontrollen, die auf Datei- und Verzeichnis-Berechtigungen basieren

Die folgenden auf Datei- und Verzeichnis-Berechtigungen basierenden Kontrollen können, wenn sie falsch angewendet werden, durch Fehlkonfigurationen zu erheblichen Schwierigkeiten bei der Fehlersuche führen. Benutzen Sie diese sparsam und sorgfältig. Durch die schrittweise Einführung einer Berechtigung nach der anderen können unerwünschte Nebeneffekte entdeckt werden. Im Fehlerfall kommentieren Sie alle aus und führen sie dann Schritt für Schritt in einer kontrollierten Art und Weise wieder ein.

In ??? finden Sie Informationen, die diese Parameter betreffen.

Tabelle 13.3. Auf Datei- und Verzeichnis-Berechtigungen basierende Kontrollen

KontrollparameterBeschreibung - Ausführung - Hinweise
create mask

Sehen Sie in der smb.conf-Manpage nach.

directory mask

Die Oktal-Modi, die beim Konvertieren von DOS-Modi in UNIX-Modi während des Erzeugens von UNIX-Verzeichnissen benutzt werden. Siehe auch: directory security mask.

dos filemode

Durch Einschalten dieses Parameters erlaubt man einem Benutzer, der Schreibzugriff auf eine Datei hat, die Berechtigungen auf diese zu ändern.

force create mode

Dieser Parameter spezifiziert eine Anzahl von UNIX-Mode-Bit-Berechtigungen, die immer auf eine Datei gesetzt werden, die durch Samba erzeugt wurde.

force directory mode

Dieser Parameter spezifiziert eine Anzahl von UNIX-Mode-Bit-Berechtigungen, die immer auf ein Verzeichnis gesetzt werden, das durch Samba erzeugt wurde.

force directory security mode

Kontrolliert Änderungen an UNIX-Berechtigungsbits, wenn ein Windows NT-Client UNIX-Berechtigungen eines Verzeichnisses manipuliert.

force security mode

Kontrolliert Änderungen an UNIX-Berechtigungsbits, wenn ein Windows NT-Client UNIX-Berechtigungen manipuliert.

hide unreadable

Verhindert, dass Clients die Existenz von Dateien sehen, die nicht lesbar sind.

hide unwriteable files

Verhindert, dass Clients die Existenz von Dateien sehen, die nicht schreibbar sind. Nicht beschreibbare Verzeichnisse werden wie gewöhnlich angezeigt.

nt acl support

Dieser Parameter kontrolliert, ob smbd versuchen wird, UNIX-Berechtigungen auf Windows NT-Zugriffsberechtigungslisten zu mappen.

security mask

Kontrolliert Änderungen an UNIX-Berechtigungsbits, wenn ein Windows NT-Client UNIX-Berechtigungen einer Datei manipuliert.

Allgemeine Kontrollen

Das Folgende ist dokumentiert, da es weit verbreitet ist, dass Administratoren unabsichtlich Barrieren beim Einrichten von Dateizugriffen dadurch aufbauen, dass sie die genauen Auswirkungen von Dateieinstellungen in smb.conf nicht verstehen (siehe ???).

Tabelle 13.4. Andere Kontrollen

KontrollparameterBeschreibung - Ausführung - Hinweise
case sensitive, default case, short preserve case

Dies bedeutet, dass alle Dateinamensanzeigen in case-sensitiver Art erfolgen. Die Dateien werden genau so mit dem exakten Namen angelegt, wie Samba den Dateinamen vom Windows-Client erhält.

csc policy

Client-seitige Caching-Richtlinie - ermöglicht parallele MS Windows client-seitige Datei-Caching-Fähigkeiten.

dont descend

Erlaubt das Spezifizieren einer kommata-getrennten Verzeichnisliste, die der Server immer leer anzeigt.

dos filetime resolution

Diese Option ist hauptsächlich als Kompatibilitätsoption für Visual C++ gedacht, wenn dieses auf einer Samba-Freigabe genutzt wird.

dos filetimes

DOS und Windows erlauben Benutzern, Zeitstempel auf Dateien zu ändern, wenn diese auf die Datei schreiben können. POSIX-Semantiken verhindern dies. Diese Option erlaubt DOS- und Windows-Verhalten.

fake oplocks

Oplocks sind das Verfahren, wie SMB-Clients die Erlaubnis eines Servers bekommen, Dateioperationen lokal zu cachen (zwischenzuspeichern). Falls ein Server Oplocks erlaubt, ist es dem Client freigestellt anzunehmen, dass er der einzige ist, der auf die Datei zugreift, und er kann das Datei-Caching aggressiv nutzen.

hide dot files, hide files, veto files

Hinweis: MS Windows Explorer erlaubt das Überschreiben von Dateien, die als versteckt markiert sind, so dass sie weiter sichtbar sind.

read only

Falls dieser Parameter 'yes' ist, können Benutzer eines Dienstes Dateien im Diensteverzeichnis weder erzeugen noch ändern.

veto files

Liste von Dateien oder Verzeichnissen, die nicht sichtbar sind und auf die man auch nicht zugreifen kann.

Zugriffskontrollen auf Freigaben

Dieses Kapitel handelt davon, wie Samba für Zugriffskontroll-Einschränkungen bei Freigaben konfiguriert werden kann. Standardmäßig setzt Samba keine Einschränkungen auf die Freigabe selbst. Einschränkungen auf der Freigabe selbst können auf MS Windows NT4/200x/XP-Freigaben gesetzt werden. Dies kann ein effektives Verfahren sein, um zu regeln, wer sich mit einer Freigabe verbinden darf. In Ermangelung spezifischer Einschränkungen sieht die Standardeinstellung vor, dem globalen Benutzer Jeder - Volle Kontrolle (volle Kontrolle, Ändern und Lesen) zu erlauben.

Zurzeit stellt Samba kein Werkzeug zum Konfigurieren von Zugriffskontroll-Einstellungen auf einer Freigabe selbst zur Verfügung. Samba hat die Fähigkeit, Zugriffskontroll-Einstellungen zu speichern und damit zu arbeiten, aber der einzige Weg, diese Einstellungen zu erzeugen, ist der NT4 Server Manager oder die Windows 200x MMC für Computer-Verwaltung.

Samba speichert die Zugriffskontroll-Einstellungen pro Freigabe in einer Datei namens share_info.tdb. Der Ablageort dieser Datei auf Ihrem System hängt davon ab, wie Sie Samba kompiliert haben. Der Standard-Ablageort für Sambas tdb-Dateien ist /usr/local/samba/var. Falls das tdbdump-Werkzeug auf Ihrem System kompiliert und installiert worden ist, können Sie den Inhalt dieser Datei wie folgt ausführen: tdbdump share_info.tdb, in dem Verzeichnis, das die tdb-Dateien enthält.

Verwaltung von Freigabeberechtigungen

Das beste Werkzeug für eine Aufgabe ist plattformabhängig. Wählen Sie das beste Werkzeug für Ihre Umgebung.

Windows NT4 Workstation/Server

Das Werkzeug, das Sie zum Verwalten von Freigabeberechtigungen auf einem Samba-Server nutzen müssen, ist der NT Server Manager. Der Server Manager wird mit den Windows NT4 Server-Produkten, aber nicht mit Windows NT4 Workstation ausgeliefert. Sie können den NT Server Manager für MS Windows NT4 Workstation von Microsoft erhalten (Details weiter unten).

Prozedur 13.1. Anweisungen

  1. Starten Sie den NT4 Server Manager, und klicken Sie auf den Samba-Server, den Sie administrieren möchten. In dem Menü wählen Sie Computer, dann klicken Sie auf Freigegebene Verzeichnisse.

  2. Klicken Sie auf die Freigabe, die Sie verwalten möchten, dann gehen Sie auf Eigenschaften und klicken auf die Registerkarte Berechtigungen. Jetzt können Sie Zugriffskontroll-Einstellungen nach Belieben hinzufügen und ändern.

Windows 200x/XP

Auf MS Windows NT4/200x/XP werden Systemzugriffskontroll-Listen für Freigaben mit eigenen Werkzeugen gesetzt, meist durch den Dateimananger. In Windows 200x beispielsweise rechtsklicken Sie auf den Freigabeordner, wählen Freigabe und klicken dann auf Berechtigungen. Die Standardberechtigung unter Windows NT4/200x erlaubt „jedem“ volle Kontrolle über die Freigabe.

MS Windows 200x und spätere Versionen enthalten ein Werkzeug namens Computerverwaltungs-Snap-In für die Microsoft Management Konsole (MMC). Dieses Werkzeug befindet sich in der Systemsteuerung -> Verwaltung -> Computerverwaltung.

Prozedur 13.2. Anweisungen

  1. Nachdem Sie die MMC über das Computerverwaltungs-Snap-In gestartet haben, klicken Sie auf den Menüeintrag Action und wählen dann Mit einem anderen Computer verbinden. Falls Sie nicht an einer Domäne angemeldet sind, werden Sie aufgefordert, einen Domänenbenutzer und ein Passwort einzugeben. Dies wird Sie gegenüber der Domäne authentifizieren. Falls Sie bereits als ein Benutzer mit Administrationsrechten angemeldet sind, wird dieser Schritt nicht angeboten.

  2. Falls der Samba-Server nicht in der Box Computer auswählen angezeigt wird, geben Sie den Namen des Samba-Zielservers im Feld Name: ein. Klicken Sie jetzt auf den Button [+] neben Systemwerkzeuge, dann auf den Button [+] neben Freigabeordner im linken Bereich.

  3. Im rechten Bereich doppelklicken Sie auf die Freigabe, auf die Sie Zugriffskontroll-Berechtigungen vergeben möchten. Dann klicken Sie auf die Registerkarte Freigabe-Berechtigungen. Jetzt ist es möglich, Zugriffskontroll-Einheiten zu dem Freigabe-Ordner hinzuzufügen. Merken Sie sich, welchen Zugriffstyp (volle Kontrolle, ändern, lesen) Sie für jeden Eintrag vergeben möchten.

Warnung

Seien Sie vorsichtig. Falls Sie alle Berechtigungen von dem Jeder Benutzer wegnehmen, ohne diesen Benutzer entfernt zu haben, wird anschließend kein Benutzer mehr in der Lage sein, auf die Freigabe zuzugreifen. Dies ist ein Ergebnis dessen, was als ACL-Präzedenz bekannt ist. Jeder mit dem Eintrag kein Zugriff heißt, dass MaryK, die Teil der Gruppe Jeder ist, keinen Zugriff hat, obwohl ihr explizit volle Zugriffsrechte gegeben wurden.

MS Windows-Zugriffskontroll-Listen (ACLs) und UNIX-Wechselwirkungen

Verwalten von UNIX-Berechtigungen durch NT-Sicherheitsdialoge

Windows NT-Clients können ihre eigene Dialogbox für Sicherheitseinstellungen verwenden, um UNIX-Berechtigungen anzuzeigen und zu ändern.

Diese Fähigkeit ist so umsichtig, dass die Sicherheit des UNIX-Hosts, auf dem Samba läuft, nicht gefährdet wird und dennoch alle Dateiberechtigungsregeln, die ein Samba-Administrator setzt, beachtet werden.

Samba versucht nicht, die POSIX-ACLs zu übertreffen, so dass die vielen feiner abgestimmten Zugriffskontroll-Optionen, die Windows zur Verfügung stellt, einfach ignoriert werden.

Anmerkung

Alle Zugriffe auf UNIX/Linux-Systemdateien durch Samba werden durch die Betriebssystem-Dateizugriffskontrollen kontrolliert. Bei der Fehlersuche nach Dateizugriffsproblemen ist es enorm wichtig, die Identität des Windows-Benutzers herauszufinden, wie sie von Samba an dieser Stelle des Dateizugriffs gesehen wird. Diese kann am besten durch die Samba-Protokolldateien ermittelt werden.

Anzeigen von Dateisicherheit auf einer Samba-Freigabe

Von einem NT4/2000/XP-Client aus rechtsklicken Sie auf jede Datei oder Verzeichnis in einem Samba- gemounteten Laufwerksbuchstaben oder UNC-Pfad. Wenn das Menü aufgeht, klicken Sie auf den Eintrag Eigenschaften am Fuß des Menüs. Dies startet die Dialogbox Eigenschaften. Klicken Sie auf die Registerkarte Sicherheit, Erweitert und Sie werden drei Panels sehen: Berechtigungen, Überwachung und Besitzer. Der Button Überwachung wird entweder eine Fehlermeldung `A requested privilege is not held by the client' verursachen, falls der Benutzer kein NT-Administrator ist, oder einen Dialog erscheinen lassen, mit dem ein Administrator Überwachungsgrundlagen einer Datei hinzufügen kann, wenn der Benutzer als NT-Administrator angemeldet ist. Dieser Dialog funktioniert derzeit nicht mit einer Samba-Freigabe, da der einzige Button, der Hinzufügen-Button, es derzeit nicht zulässt, eine Benutzerliste anzuzeigen.

Anzeigen von Dateieigentümern

Wenn Sie auf den Button Eigentümer klicken, erscheint eine Dialogbox, die Ihnen zeigt, wem die betreffende Datei gehört. Der Name des Eigentümers wird wie folgt angezeigt:

SERVER\Benutzer (Langer Name)

SERVER ist der NetBIOS-Name des Samba-Servers, Benutzer der Name des UNIX-Benutzers, dem die Datei gehört, und (Langer Name) ist die Beschreibung, die den Benutzer ausweist (normalerweise wird dies im GECOS-Feld der UNIX-Passwortdatenbank gefunden). Klicken Sie auf den Button Abbrechen, um diesen Dialog zu entfernen.

Falls der Parameter nt acl support auf false gesetzt ist, wird der Dateieigentümer als NT-Benutzer Jeder angezeigt.

Mit dem Übernehmen-Button können Sie nicht die Eigentumsrechte an dieser Datei auf sich selbst setzen (ein Anklicken zeigt eine Dialogbox, die angibt, dass der Benutzer, als der Sie gerade auf dem NT-Client angemeldet sind, nicht gefunden werden kann). Der Grund hierfür ist, dass das Ändern der Eigentumsrechte auf eine Datei eine privilegierte Operation in UNIX ist, die ausschließlich dem Benutzer root obliegt. Indem Sie auf diesen Button klicken, veranlassen Sie NT dazu, die Eigentumsrechte einer Datei auf den am NT-Client gegenwärtig angemeldeten Benutzer zu übertragen; dies funktioniert jedoch zu diesem Zeitpunkt mit Samba nicht.

Es gibt ein NT-Kommando, chown, das mit Samba funktioniert und es einem Benutzer, der mit Administratorprivilegien an einen Samba-Server als root angeschlossen ist, erlaubt, die Eigentumsrechte von Dateien sowohl auf lokaler NTFS-Dateisystemebene als auch auf entfernt gemounteten NTFS- oder Samba-Laufwerken zu setzen. Dies ist verfügbar als Teil der von Jeremy Allison vom Samba-Team geschriebenen Seclib-NT-Sicherheitsbibliothek, und Sie können es von der FTP-Hauptseite von Samba abrufen.

Das Anzeigen von Datei- oder Verzeichnisberechtigungen

Der dritte Button ist die Schaltfläche Berechtigungen. Wenn Sie sie anklicken, öffnet sich eine Dialogbox, die sowohl die Berechtigungen als auch den UNIX-Besitzer für die Datei und das Verzeichnis anzeigen. Der Eigentümer wird wie folgt angezeigt:

SERVER\ Benutzer (Langer Name)

SERVER ist der NetBIOS-Name des Samba-Servers, Benutzer ist der Name des UNIX-Benutzers, dem die Datei gehört, und (Langer Name) ist die Beschreibung, die den Benutzer ausweist (normalerweise wird dies im GECOS-Feld der UNIX-Passwortdatenbank gefunden).

Falls der Parameter nt acl support auf false gesetzt ist, wird der Dateieigentümer als NT-Benutzer Jeder angezeigt.

Das Berechtigungsfeld wird bei Dateien und Verzeichnissen anders dargestellt, also werde ich die Art, wie Dateiberechtigungen angezeigt werden, zuerst beschreiben.

Dateiberechtigungen

Die Standard-UNIX-Drillinge Benutzer/Gruppe/Welt und die korrespondierenden Berechtigungen lesen, schreiben, ausführen werden von Samba in ein aus drei Elementen bestehendes NT-ACL mit den Bits „r“, „w“ und „x“ von Samba in ein aus drei Elementen bestehendes NT-ACL gemappt, wobei die Bits „r“, „w“ und „x“ auf passende NT-Berechtigungen gemappt werden. Die UNIX-Welt-Berechtigungen werden in die globale NT-Gruppe Jeder gemappt, gefolgt von der Berechtigungsliste, die unter UNIX für Welt gilt. Die UNIX Eigentümer- und Gruppenberechtigungen werden als ein NT- Benutzer-Symbol und ein NT-Symbol lokale Gruppe angezeigt, beziehungsweise durch die nachfolgende Berechtigungsliste für den UNIX-Benutzer und die UNIX-Gruppe.

Dadurch, dass viele UNIX-Berechtigungssätze nicht auf allgemeine NT-Namen wie lesen, ändern oder volle Kontrolle passen, werden gemeinhin die Berechtigungen durch Wörter wie Spezieller Zugriff in der NT-Anzeigeliste angeführt.

Doch was passiert, wenn die Datei keine Berechtigungen für eine bestimmte UNIX-Benutzergruppe oder Welt-Komponente erlaubt? Um es zu ermöglichen, „keine Berechtigungen“ zu sehen und zu ändern, übergibt Samba das NT-ACL-Attribut Eigentum übernehmen (das keine Bedeutung für UNIX hat) und meldet eine Komponente ohne Berechtigung, wie wenn das NT-Bit O gesetzt wäre. Dies wurde natürlich deshalb gewählt, um es wie eine Null aussehen zu lassen, was bedeutet: Keine (Null) Berechtigungen. Weitere Details zu dieser Entscheidung werden weiter unten angeführt.

Verzeichnis-Berechtigungen

Verzeichnisse auf einem NTFS-Dateisystem haben zwei verschiedene Berechtigungssätze. Der erste Satz ist die ACL, die auf das Verzeichnis selbst gesetzt ist. Sie wird normalerweise im ersten Satz der Klammern im normalen NT-Stil RW angezeigt. Dieser erste Satz an Berechtigungen wird durch Samba in exakt derselben Art und Weise erzeugt, wie es normale Dateiberechtigungen werden, und wird auch auf diesselbe Art und Weise angezeigt.

Der zweite Satz von Verzeichnis-Berechtigungen hat keine echte Bedeutung in der UNIX-Berechtigungs-Welt und repräsentiert die vererbten Berechtigungen, die jede Datei erben würde, die in diesem Verzeichnis erzeugt wird.

Samba vereinigt diese vererbten Berechtigungen für NT, indem es die UNIX-Berechtigungsmodi als eine NT-ACL zurückgibt, so wie es eine Datei erhalten würde, die Samba für diese Freigabe erzeugt hat.

Ändern von Datei- oder Verzeichnis-Berechtigungen

Das Ändern von Datei- und Verzeichnis-Berechtigungen ist genauso einfach wie das Ändern der Anzeige der Berechtigungen in der Dialogbox und das Klicken auf OK. Jedoch gibt es Einschränkungen, die ein Benutzer kennen sollte und die mit den Standard-Samba-Berechtigungsmasken und mit dem Vergeben von DOS-Attributen zu tun haben, die ebenfalls in diesem Zusammenhang berücksichtigt werden müssen.

Falls der Parameter nt acl support auf false gesetzt ist, schlägt jeder Versuch, Sicherheitsberechtigungen zu setzen, mit einer Meldung 'Zugriff verweigert' fehl.

Das Erste, was anzumerken ist, ist, dass der Button Hinzufügen keine Samba-Benutzerliste zurückgeben wird (es wird eine Fehlermeldung ausgegeben, die besagt 'Der Remoteprozedur-Aufruf schlug fehl und konnte nicht ausgeführt werden'). Das bedeutet, dass Sie nur die gegenwärtigen Benutzer/Gruppen/Welt-Berechtigungen, die in der Dialogbox angezeigt werden, ändern können. Dies funktioniert deshalb so gut, weil es die einzigen Berechtigungen sind, die UNIX augenblicklich hat.

Falls ein Berechtigungsdrilling (entweder Benutzer, Gruppe oder Welt) von der Liste der Berechtigungen in der NT-Dialogbox entfernt wird und dann der OK-Button angeklickt wird, wird dies auf UNIX-Seite als „keine Berechtigungen“ angewendet. Wenn Sie sich dann die Berechtigungen nochmals ansehen, wird der Eintrag „keine Berechtigungen“ als das NT-Flag O wie oben beschrieben angezeigt. Dies erlaubt es Ihnen, Berechtigungen wieder auf eine Datei oder Verzeichnis zu setzen, nachdem Sie diese von einer der Drillingskomponenten entfernt hatten.

Weil UNIX nur die Bits „r“, „w“ und „x“ einer NT-ACL unterstützt, werden diese ignoriert, falls andere NT-Sicherheitsattribute wie Löschzugriff ausgewählt wurden, falls diese auf einem Samba-Server angewandt werden.

Wenn Berechtigungen auf ein Verzeichnis gesetzt werden, wird der zweite Satz an Berechtigungen (im zweiten Klammern-Paar) standardmäßig auf alle Dateien in diesem Verzeichnis angewandt. Falls Sie dies nicht wünschen, müssen Sie die Auswahlbox Berechtigungen auf existierende Dateien zurücksetzen in dem NT-Dialog vor einem Klicken auf OK abwählen.

Falls Sie es wünschen, alle Berechtigungen von einer Benutzer/Gruppe/Welt-Komponente zu entfernen, können Sie entweder eine Komponente auswählen und auf den Button Entfernen klicken, oder setzen Sie die Komponente darauf, nur die spezielle Berechtigung Berechtigung übernehmen (angezeigt als O) zu setzen.

Die Wechselwirkung mit den Samba-Standard-Parametern „create mask

Es gibt vier Parameter, die das Wechselspiel mit den Samba-Standard-Parametern create mask kontrollieren. Diese sind:

  • security mask
  • force security mode
  • directory security mask
  • force directory security mode

Sobald ein Benutzer auf OK klickt, um Berechtigungen zu setzen, mappt Samba die angegebenen Berechtigungen in einen Benutzer/Gruppe/Welt-Drillingssatz und gleicht dann die geänderten Berechtigungen für diese Datei mit den in security mask gesetzten Bits ab. Jedes geänderte Bit, das nicht mit „1“ in diesem Parameter gesetzt wurde, bleibt in den Dateiberechtigungen unberücksichtigt.

Grundsätzlich werden Null-Bits in der security mask als ein Satz von Bits behandelt, die der Benutzer nicht ändern darf, Einer-Bits darf der Benutzer ändern.

Falls er nicht ausdrücklich gesetzt worden ist, zeigt dieser Parameter standardmäßig auf denselben Wert wie der Parameter create mask. Um es einem Benutzer zu erlauben, alle Berechtigungen von Benutzer/Gruppe/Welt an einer Datei zu ändern, setzen Sie diesen Parameter auf 0777.

Als Nächstes gleicht Samba die geänderten Berechtigungen einer Datei mit den Bits ab, die im force security mode-Parameter gesetzt sind. Jedes geänderte Bit wird passend zu den auf „1“ gesetzten Bits in diesem Parameter zwangsläufig gesetzt.

Grundsätzlich werden Bits aus dem Parameter force security mode als ein Satz von Bits behandelt, die der Benutzer immer auf „an“ gesetzt hat, wenn die Sicherheit einer Datei geändert wird.

Falls er nicht ausdrücklich gesetzt worden ist, zeigt dieser Parameter standardmäßig auf denselben Wert wie der Parameter force create mode. Um es einem Benutzer zu erlauben, alle Berechtigungen von Benutzer/Gruppe/Welt an einer Datei ohne Berechtigungen zu ändern, setzen Sie diesen Parameter auf 000. Die Parameter security mask und force security mode werden angewendet, um die Anfragen in dieser Reihenfolge zu ändern.

Für ein Verzeichnis wird Samba dieselben Operationen durchführen, wie zuvor für eine Datei beschrieben. Es wird jedoch der Parameter directory security mask anstatt des Parameters security mask und Parameter force directory security mode anstatt des Parameters force security mode angewandt.

Der Parameter directory security mask ist standardmäßig auf denselben Wert wie der Parameter directory mask gesetzt, und der Parameter force directory security mode ist standardmäßig auf denselben Wert wie der Parameter force directory mode gesetzt. Auf diese Weise erzwingt Samba die Einschränkungen bei Berechtigungen, die ein Administrator auf einer Samba-Freigabe gesetzt hat, während den Benutzern weiterhin erlaubt wird, innerhalb dieser Einschränkung die Berechtigungsbits zu ändern.

Falls Sie eine Freigabe aufsetzen möchten, die es Benutzern erlaubt, die volle Kontrolle bei der Änderung von Berechtigungsbits auf ihren eigenen Dateien und Verzeichnissen auszuüben, und die es nicht erfordert, irgendwelche Bits auf „an“ zu verstellen, dann setzen Sie die folgenden Parameter in der smb.conf Datei innerhalb des freigabe-spezifischen Abschnitts:

security mask = 0777
force security mode = 0
directory security mask = 0777
force directory security mode = 0

Die Wechselwirkung mit den Standard-Samba-Dateiattribut-Vergaben

Anmerkung

Samba vergibt einige der DOS-Attribut-Bits (wie z.B. „Nur lesen“) in den UNIX-Berechtigungen einer Datei. Dies bedeutet, dass es einen Konflikt zwischen den Berechtigungsbits, die durch den Sicherheitsdialog gesetzt wurden, und den Berechtigungen geben kann, die durch die Vergabe von Dateiattributen gesetzt wurden.

Falls eine Datei für den Eigentümer keinen UNIX-Lesezugriff hat, wird diese als „Nur lesen“ in dem Standarddialog der Registerkarte Dateiattribute angezeigt. Leider ist dieser Dialog derselbe, der die Sicherheitsinformationen in einer anderen Registerkarte enthält.

Der Eigentümer kann dadurch fälschlicherweise glauben, die Berechtigungen dadurch ändern zu können, weil es ihm anscheinend erlaubt wird, Lesezugriff durch Nutzung des Sicherheitsdialoges zu bekommen; er klickt auf OK, um zurück zu der Registerkarte mit den Standardattributen zu gelangen, klickt auf OK in diesem Dialog, und NT setzt die Dateiberechtigungen auf Nur-lesen zurück (weil dies die Attribute in diesem Dialog ihm sagen). Dies bedeutet: Klicken Sie - nachdem Sie die Berechtigungen gesetzt und auf OK zum Zurückgehen auf den Attributdialog geklickt haben - immer auf Abbrechen statt auf OK, um sicherzustellen, dass Ihre Änderungen nicht überschrieben werden.

Gängige Fehler

Datei-, Verzeichnis- und Freigabezugriffsprobleme tauchen häufig auf der Mailingliste auf. Die folgenden Beispiele wurden in letzter Zeit in der Maillingliste behandelt.

Benutzer können nicht auf eine öffentliche Freigabe schreiben

Wir haben einige Schwierigkeiten mit Datei/Verzeichnis-Berechtigungen. Ich kann mich als Admin-User (root) an einer Domäne anmelden, und es gibt eine öffentliche Freigabe, auf der jeder die Berechtigung zum Erzeugen und Ändern von Dateien haben sollte, aber nur root kann Dateien ändern, sonst niemand. Wir müssen dauernd auf dem Server chgrp -R users * und chown -R nobody * eingeben, um den anderen Benutzern das Ändern von Dateien zu erlauben.

Es gibt viele Möglichkeiten, dieses Problem zu lösen, und hier sind ein paar Hinweise:

  1. Gehen Sie auf die oberste Ebene des Verzeichnisses, das freigegeben ist.

  2. Setzen Sie die Benutzer und Gruppe als Eigentümer auf das, was öffentlich sein soll

    $ find 'directory_name' -type d -exec chown user.group {}\;
    $ find 'directory_name' -type d -exec chmod 6775 'directory_name'
    $ find 'directory_name' -type f -exec chmod 0775 {} \;
    $ find 'directory_name' -type f -exec chown user.group {}\;
    

    Anmerkung

    Das oben Aufgeführte setzt das Sticky-Bit auf alle Verzeichnisse. Lesen Sie in Ihren UNIX/Linux-Manpages nach, was dies bewirkt. Es veranlasst das Betriebssystem, auf alle Dateien in Ihren Verzeichnissen den Eigentümer des Verzeichnisses zu setzen.

  3. Das Verzeichnis heißt: /foobar

    $ chown jack.engr /foobar
    

    Anmerkung

    Dies ist dasselbe wie:

    $ chown jack /foobar
    $ chgrp engr /foobar
    

  4. Geben Sie jetzt Folgendes ein:

    $ chmod 6775 /foobar
    $ ls -al /foobar/..
    

    Dann sollten Sie dies sehen:

    drwsrwsr-x  2 jack  engr    48 2003-02-04 09:55 foobar
    

  5. Geben Sie jetzt dies ein:

    $ su - jill
    $ cd /foobar
    $ touch Afile
    $ ls -al
    

    Sie sollten nun sehen, dass die Datei Afile, die von Jill erzeugt worden ist, die Eigentumsrechte und Berechtigungen von Jack hat, so wie hier:

    -rw-r--r--  1 jack  engr     0 2003-02-04 09:57 Afile
    

  6. Fügen Sie jetzt in Ihrer smb.conf für die Freigabe Folgendes ein:

    force create mode = 0775
    force directory mode = 6775

    Anmerkung

    Diese Maßnahmen werden nur dann gebraucht, wenn Ihre Benutzer nicht Mitglied der Gruppe sind, die Sie benutzt haben. Das ist dann der Fall, wenn Sie innerhalb des Betriebssystems keine Schreibberechtigung auf das Verzeichnis haben.

    Eine Alternative ist es, in der smb.conf diesen Eintrag für die Freigabe zu setzen:

    force user = jack
    force group = engr

Dateioperationen, die als root mit force user ausgeführt wurden

Wenn Sie einen Benutzer in admin users haben, wird Samba für diesen Benutzer Dateioperationen immer als root ausführen, sogar wenn force user gesetzt wurde.

MS Word mit Samba ändert den Eigentümer einer Datei

Frage:Wenn Benutzer B ein Word-Dokument abspeichert, das Benutzer A gehört, ist anschließend der Eigentümer der aktualisierten Datei Benutzer B. Warum macht Samba das? Wie kann ich das beheben?

Antwort: Word macht Folgendes, wenn Sie ein Word-Dokument ändern: Es erzeugt ein NEUES Dokument mit einem temporären Namen. Word schließt dann das alte Dokument und löscht es. Dann benennt Word das neue Dokument in den Original-Dateinamen um. Es gibt keinen Mechanismus, durch den Samba in irgendeiner Weise wissen kann, dass das neue Dokument wirklich dem Eigentümer der Originaldatei gehören sollte. Samba hat keine Möglichkeit zu erfahren, dass MS Word die Datei umbenannt hat. Samba ist nur in der Lage zu sagen, dass die Datei, die erzeugt wurde, eine NEUE Datei ist, aber nicht, dass die Applikation (Word) diese aktualisiert hat.

Es gibt einen Workaround, um diese Berechtigungsprobleme zu lösen. Dieser Workaround setzt voraus, dass Sie verstehen, wie Sie das Verhalten des Dateisystems innerhalb der Datei smb.conf steuern können, und wissen, wie ein UNIX-Dateisystem funktioniert. Setzen Sie chmod g+s `directory_name' auf das Verzeichnis, in dem Sie Word-Dokumente ändern möchten. Dies stellt sicher, dass alle Dateien mit der Gruppe erzeugt werden, der das Verzeichnis gehört. In dem Abschnitt in der smb.conf, der die Freigabe deklariert, setzen Sie:

force create mode = 0660
force directory mode = 0770

Diese beiden Einstellungen stellen sicher, dass alle Verzeichnisse und Dateien, die in der Freigabe erzeugt werden, durch den Eigentümer und die Gruppe les- und schreibbar sind, die auf das Verzeichnis selbst gesetzt sind.