Die Flagge des Marasek

Dekostreifen

English

Aktuell Texte Der Comic Impressum Kalender Suche PHP-Klassen Container-Wizard main.s21

Kategorien

Buch
Computer
Computerspiele
Film
Geschichte
Gesellschaft
Idee
Kunst
Natur
Persönlich
Politik
Programmieren
Religion & Philosophie
Weblog
Weltpolitik
Weltsicht
{{login}}

POSIX vs. ACL vs. Windows NT vs. Hadanite Marasek

Permalink
Vorheriger: ChinaNächster: Technikmißtrauen
Eingeordnet in: Computer

Ich verwende Samba in Version 3 als Fileserver. Ich kam auf die gute, wenngleich im Nachhinein törichte Idee, es sei eine gute Idee, mehr Gruppen einzuführen, so dass Benutzer bei einer Datei die Berechtigungen auf eine andere Gruppe setzen können; dann hätten sie die Möglichkeit, den Zugriff auf Dateien selbst einzuschränken. Damit fing alles an.

Unix und Windows haben zwei grundsätzlich andere Arten, Benutzerrechte abzubilden. Bei Unix gibt es standardmässig drei Attribute für eine Datei (Benutzer, Gruppe, Andere), von denen in jedem "lesen,schreiben,ausführen" auf ja/nein gesetzt werden kann. Der Benutzer wiederum hat eine Benutzer-ID, eine Gruppe mit Gruppen-ID und kann Mitglied in anderen Gruppen sein.
Beim Zugriff auf die Datei wird überprüft, ob ich der Benutzer bin, oder der Gruppe angehöre, und ob ich innerhalb dieses Attributs die zum Zugriff nötigen Rechte habe.
Windows hingegen hat (unter NTFS) eine sogenannte Access Control List: einer Datei ist eine Liste zugeordnet, in der beliebig viele Gruppen/Personen stehen können. Jeder Gruppe/Person sind dann eine feste Menge an Zugriffsrechten zugeordnet (lesen, schreiben, verändern...). Mir wiederum ist auch eine Liste zugeordnet, die meine Benutzer-ID und beliebig viele Gruppen enthält. Passt ein Eintrag, bekomme ich Zugriff.

Die Unixer kamen natürlich mal darauf, dass ACL an sich nicht schlecht sind, denn sie erlauben eine viel flexiblere Rechtezuweisung. Anstatt mir als Nutzer vom Systemadministrator eine eigene Gruppe definieren lassen zu müssen, kann ich einfach drei Kollegen in die die ACL meiner Datei aufnehmen und ihnen Leserechte geben. Also hat man ACL für Linux implementiert. Da man aber abwärtskompatibel bleiben will - wie es im EDV-Bereich häufig ist - ergänzen die ACL die traditionellen Berechtigungen nur, anstatt sie wirklich zu ersetzen. Also hat man für jede Datei die ursprünglichen Benutzer/Gruppe/Andere-Rechte, denen eine ACL beigeordnet ist.

Greift man nun mit Windows auf einen Samba-Fileserver zu, muss Samba die UNIX-Berechtigungen irgendwie für Windows aufbereiten - es macht aus den UNIX-Attributen eine Liste, die im Windows-Dialog erscheint. Dass dies nur eine Täuschung ist, merkt man, sobald man versucht, einen Listeneintrag zu entfernen - was unter Windows geht, verweigert Samba natürlich, da es das Datei-Attribut an sich nicht entfernen kann. Leider ist es aber nicht möglich, die Gruppe zu ändern; denn dazu müsste sie ja erst entfernt und neu hinzugefügt, oder neu hinzugefügt und dann die alte entfernt werden. Zumindest macht es Windows so, Samba kann das aber nicht umsetzen.

Als Alternative kann man unter Linux ACL für ein Dateisystem konfigurieren. Wenn man dann Samba ebenfalls mit ACL laufen hat, ist es tatsächlich möglich, die ACL-Einträge von Linux unter Windows zu manipulieren. Aber - grosses Aber - die eigentlichen Dateirechte, die Linux ja noch als Attribut mitschleppt, bleiben nach wie vor vorhanden. Man kann ihnen zwar die Rechte nehmen, sie aber nicht ganz entfernen. Das ist natürlich für den normalen Benutzer, der wenig Lust hat, sich Erklärungen über historische Unterschiede anzuhören, irreführend.
Problematisch ist natürlich auch, dass die ACL verschwinden, sobald man Dateien in ein Dateisystem schreibt, das keine ACL unterstützt. Vor allem die Bandsicherung ist hier ein kritischer Punkt; es gibt zwar Programme, die ACLs mitsichern, aber ich neige, die Bandsicherung so einfach wie möglich zu halten.

Derzeit gibt es also noch keine wirklich elegante Lösung für das Problem. Was ich natürlich erst herausfinde, nachdem ich mich ausreichend damit beschäftigt habe.

Kommentieren

Bitte beachten: Kommentare sind nicht sofort sichtbar, sondern werden erst nach einer kurzen Prüfung freigegeben, sofern keine rechtliche Beanstandung vorliegt.
Rechtlich bedenkliche Inhalte werden entweder entschärft oder nicht veröffentlicht.

* Titel  
* Nickname  
* Kommentar