Warum verarbeitet Windows alle untergeordneten NTFS-Objekte, wenn die ACL eines übergeordneten Elements geändert wird?

10

Warum verarbeitet Windows alle untergeordneten NTFS-Objekte, wenn die ACL eines übergeordneten Elements geändert wird?

Ich würde dieses Verhalten erwarten, wenn ich das Kontrollkästchen "Alle untergeordneten Objektberechtigungen ersetzen ..." aktiviert hätte, aber selbst wenn dieses Kontrollkästchen nicht aktiviert ist, verarbeitet Windows alle untergeordneten Objekte.

Corey
quelle
@Ben Dies wird nicht von der Shell durchgeführt, da die Kaskade geerbter Berechtigungen auf alle untergeordneten Objekte mit aktivierter Vererbung repliziert werden muss. Dies muss auch dann erfolgen, wenn die Windows-API direkt aufgerufen wird. Zu Ihrer Information: Berechtigungen werden aus Leistungsgründen repliziert.
Andreas

Antworten:

10

In Windows werden Dateiberechtigungen nicht dynamisch vererbt. Das heißt, wenn versucht wird, eine Datei zu öffnen, überprüft Windows nur die ACL dieser Datei und nicht die ACLs der Verzeichnisse in der Baumstruktur, die die Datei enthält. Das heißt, wenn Sie die ACL eines Verzeichnisses ändern, muss Windows die Berechtigungen aller Dateien und Unterverzeichnisse im betroffenen Verzeichnis sofort aktualisieren.

In Windows die inherit Einstellung in einer ACL zeigt keine Form von dynamischer Vererbung. Es ist nur ein Flag, das angibt, dass beim Ändern der ACL eines übergeordneten Verzeichnisses alle Dateien und Unterverzeichnisse in der Baumstruktur, für die das Vererbungsflag gesetzt ist, ebenfalls aktualisiert werden müssen.

Diejenigen von uns, die alt genug sind, um sich an Novell NetWare zu erinnern, werden sich daran erinnern, dass dies einer der großen Unterschiede zu NetWare war, da die Vererbung von Berechtigungen in NetWare dynamisch ist (war?). Zu der Zeit gab es viele Debatten darüber, welcher Ansatz besser war, obwohl die Geschichte das Thema in Frage gestellt hat. Bei dynamischen ACLs muss das Betriebssystem die ACLs aller übergeordneten Verzeichnisse überprüfen, wenn versucht wird, die Datei zu öffnen. Das Ändern von ACLs ist jedoch schnell möglich. In Windows muss zum Öffnen einer Datei nur eine einzige ACL überprüft werden. Wie Sie jedoch festgestellt haben, kann das Ändern einer Verzeichnis-ACL langsam sein.

John Rennie
quelle
1
Das macht durchaus Sinn. ACLs werden viel häufiger gelesen als geschrieben. Daher ist es sinnvoll, den "geerbten Wert" für einen schnelleren Lesezugriff zwischenzuspeichern, was im selteneren Anwendungsfall des Schreibens zu einer höheren Komplexität führt.
Alexander - Stellen Sie Monica
@Alexander: Was ich nicht verstehe ist, warum diese Komplexität dem Endbenutzer ausgesetzt werden muss. Warum nicht lügen und dem Endbenutzer sagen, dass es dynamisch ist, sondern die Dinge intern zwischenspeichern?
Kevin
@ Kevin - weil es einige Zeit dauern kann, Berechtigungen zu verbreiten, und in diesem Zeitraum die Durchsetzung von Berechtigungen möglicherweise nicht wie erwartet erfolgt?
Davidbak
13

Jedes untergeordnete Objekt, das so konfiguriert ist, dass es seine Berechtigungen vom übergeordneten Objekt erbt, muss verarbeitet werden. Explizit definierte Berechtigungen für die untergeordneten Objekte sind nicht betroffen.

Die Option "Berechtigungen für alle untergeordneten Objekte ersetzen" überträgt die Berechtigungen nicht nur auf alle untergeordneten Objekte, sondern entfernt und ersetzt auch alle explizit definierten Berechtigungen für alle untergeordneten Objekte.

Appleoddity
quelle
5

Standardmäßig erben untergeordnete Ordner Berechtigungen vom übergeordneten Ordner. Unter der Annahme des Standardbereichs beim Hinzufügen / Ändern von Berechtigungen für den übergeordneten Ordner (diesen Ordner, Unterordner und Dateien) werden alle untergeordneten Ordner aktualisiert, um die Berechtigungsänderung beim übergeordneten Ordner widerzuspiegeln.

Das Kontrollkästchen, auf das Sie sich beziehen, ist eine "einmalige" Operation, bei der alle explizit definierten Berechtigungen für alle untergeordneten Ordner entfernt und durch vererbbare Berechtigungen des übergeordneten Ordners ersetzt werden und die Vererbung von Berechtigungen für die untergeordneten Ordner wieder aktiviert wird.

Joeqwerty
quelle