Unentbehrliches Netzwerk-Know-how (tecCHANNEL COMPACT)

Zugriffskontrolle bei Samba und *nix - Teil 1

Veröffentlicht: 06. Okt 2006

In vielen Netzen findet sich eine bunte Mischung aus Windows und verschiedenen Unix- und Linux-Derivaten als Server und Client. Dennoch sollen alle Server von möglichst allen Arbeitsstationen aus erreichbar sein. Zum Glück gibt es mit dem Samba-Projekt eine Möglichkeit, Windows-Clients mit Linux-Servern zu verbinden. Welche Stolperfallen es dabei zu vermeiden gilt, zeigt unsere zweiteilige Artikelserie.

*
Auf dieser Seite
Möglichkeiten und VorteileMöglichkeiten und Vorteile
Unix-Datei- und -Verzeichnis-BerechtigungenUnix-Datei- und -Verzeichnis-Berechtigungen
Samba-NetzlaufwerksdefinitionenSamba-Netzlaufwerksdefinitionen
Samba-Netzlaufwerkskontroll-ListenSamba-Netzlaufwerkskontroll-Listen
MS Windows-Zugriffskontroll-Listen und UNIX-Zugriffskontroll-ListenMS Windows-Zugriffskontroll-Listen und UNIX-Zugriffskontroll-Listen
Die Zugriffskontrollen des DateisystemsDie Zugriffskontrollen des Dateisystems
Vergleich zwischen NTFS und dem UNIX-DateisystemVergleich zwischen NTFS und dem UNIX-Dateisystem
NamensraumNamensraum
Groß-/KleinschreibungGroß-/Kleinschreibung
Verzeichnis-TrennzeichenVerzeichnis-Trennzeichen
LaufwerksbezeichnungLaufwerksbezeichnung
DateinamenskonventionDateinamenskonvention
Verknüpfungen und VerkürzungenVerknüpfungen und Verkürzungen
Verwaltung von VerzeichnissenVerwaltung von Verzeichnissen
Die Verwaltung der Zugriffskontrollen von Dateien und Ordnern (Verzeichnissen)Die Verwaltung der Zugriffskontrollen von Dateien und Ordnern (Verzeichnissen)
Zugriffskontrollen für FreigabedefinitionenZugriffskontrollen für Freigabedefinitionen
Benutzer- und gruppen-basierende KontrollenBenutzer- und gruppen-basierende Kontrollen
Kontrollen, die auf Datei- und Verzeichnis-Berechtigungen basierenKontrollen, die auf Datei- und Verzeichnis-Berechtigungen basieren
Allgemeine KontrollenAllgemeine Kontrollen
AusblickAusblick

Fortgeschrittene Windows-Benutzer sind häufig verwirrt, wenn sich eine Änderung der Besitzrechte 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.

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

Verwaltung von Ordnern (Verzeichnissen) mit UNIX und Windows

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.

Rechtestruktur: Übersicht über die UNIX-Berechtigungen.

Rechtestruktur: Übersicht über die UNIX-Berechtigungen.

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

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

Benutzer- und gruppen-basierende Kontrollen

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.

Auf Datei- und Verzeichnis-Berechtigungen basiere Kontrollen

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.

Andere Kontrollen

Ausblick

Der zweite Teil unserer Serie „Zugriffskontrolle bei Samba und *nix“ handelt davon, wie Samba für Zugriffskontroll-Einschränkungen bei Freigaben konfiguriert werden kann.

© www.tecCHANNEL.de


**
In diesem Beitrag
**