Die ACL Rechtemöglichkeiten eines Windows Server auf einem ntfs Laufwerk sind etwas tricky. Wenn man sich damit noch nicht beschäftigt hat, ist es etwas kompliziert. Möchte man umfangreiche Rechtevergaben regeln und hat man das Prinzip verstanden ist es genial und dem was man unter Linux/Unix gewohnt ist himmelweit überlegen. Ich versuche mal ein paar Grundsätze aufzuzeigen so wie sie sich unter Windows darstellen (SMB Share als root verbinden).
Zunächst ein paar Basics
Ein Solaris SMB Server (kernelbasiert, ist nicht so bei SAMBA) verhält sich nahezu gleich wie wie Windows Server was ntfs ACL angeht. Der wichtigste Unterschied: Windows verarbeitet erst deny dann allow Regeln während Solaris die Reihenfolge der Regeln abarbeitet so wie eine Firewall. Solange man kein deny verwendet kann man das ignorieren.
Solaris kennt neben Unix Gruppen zusätzlich SMB Gruppen. Das liegt daran dass lokale Windows Gruppen auch Gruppen enthalten können, lokale Unix Gruppen dagegen nicht. Der Solaris SMB Server nutzt nur Windows kompatible SMB Gruppen. Man kann aber per idmapping SMB Gruppen/User auf Unix Gruppen/User abbilden.
Aus einem Unix User wird erst dann ein SMB User wenn ein SMB Passwort vorhanden ist (andere Struktur als Unix hash). passwd user setzt ein Unix und SMB Passwort.
ZFS ist ein Unix Dateisystem. Die primäre Zuordnung von Rechten basiert daher auf Unix UID/GID. Der Solaris SMB Server nutzt aber ausschließlich Windows SID (lokale User SID werden aus der uid abgeleitet, AD SID werden direkt genutzt). Backups mit AD Rechten verlieren damit nicht ihre Rechtezuordnung.
Die Rechteoptionen unterscheiden sich bei der Zuweisung auf Ordner (wg Vererbung) oder Dateien. Wenn man Rechte auf einen Ordner legt kann man festlegen ob das nur für diesen Ordner oder weitere gilt
Bei Dateien fehlen die Vererbungs Ordneroptionen.
Auswahl von Benutzern/Gruppen in Windows (Der Windows Dialog ist bescheuert)
Entweder hostname\user z.B. nas\paul eingeben oder Benutzer hinzufügen > Prinzipal auswählen > Erweitert > jetzt suchen und Name oder Gruppe anklicken.
Vererbung
Legt man eine ACL auf einen Ordner mit der Vererbungs Option enthaltene Ordner und Dateien, so vererbt sich diese Einstellung. Wenn man in einen tieferen Ordner geht, kann man da die Vererbung deaktivieren (aktivieren). Man wird dann gefragt ob man vererbte Rechte löschen oder als "lokale" Rechte behalten möchte
Effektive Rechte eines Ordners=lokale Rechte + verebte Rechte. Verebung kann man an jeder Stelle eines Verzeichnisbaumes deaktivieren/aktivieren.
Dieser Dialog kommt nur in tieferliegenden Ordnern. Auf oberster Ebene kann man Vererbung nur ein&ausschalten.
Man kann beim Setzen von ACL auf einen Ordner auch alle tieferliegenden Rechte rekursiv ersetzen. Die wirken dann "lokal" ohne Vererbung. (Alle Berechtigungseinträge .. ersetzen)
Zur Vorgehensweise:
Für die Freigabe selber: Jeder lesen (nur diesen Order): damit kommt jeder (angemeldete User) auf die Freigabe
Dann für jeden Ordner festlegen wer was darf (Ordner, enthaltene Ordner und Dateien).
Für größere Installationen:
Für den Freigabeordner nur erlauben dass Ordner und Dateien inkl. Vererbung angelegt werden können. Ohne weitere Einstellung darf der Ersteller/Owner alles, andere nichts.