Berechnung der NTFS Permissionset Maske
Microsoft unterscheidet zwischen „grundlegenden Berechtigungen“, wie Vollzugriff, Ändern, Lesen, Schreiben, Lesen und Ausführen, Ordnerinhalt anzeigen, Spezielle Berechtigungen, und „erweiterten Berechtigungen“, wie Datei lesen, Datei ausführen, Attribute lesen, Ordner erstellen u.a.
Jede erweiterte Berechtigung hat einen Wert: Read data=1, Create Files=2, Append Data=4, Read Extended Attribures=8, …
Die grundlegenden Berechtigungen setzen sich aus mehreren erweiterten Berechtigungen zusammen, ihr Wert entsprechend ist die Summe der Einzelberechtigungen. Z.B. setzt sich das Write-Recht aus „Create Files“ (2), „Append Data“ (4), Write Extended Attributes (16) und Write Attributes (256) zusammen. Der Wert für „Wrire“ summiert sich auf 278. Mit „Synchronize“ (1048576) ergibt sich der Wert 1048854.
Die erweiteren Berechtigungen kann man nach Bedarf zusammenklicken. Entsteht dabei ein Recht, das nicht den grundlegenden Rechten entspricht, wird es unter Windows als „Spezielle Berechtigung“ gekennzeichnet.
Nur das Recht „Synchronize“ kann von uns nicht manuell vergeben werden. Mit Synchronize wird die Warte-Funktion auf dem Datei-Handle für asynchrone Lese- und Schreibvorgänge gesteuert und nur vom System gesetzt.
Bild: FileSystemRights – Berechnung der Berechtigungs-ID aus den Einzelberechtigungen.
MODIFY PLUS ist ein von der migRaven GmbH festgelegter Name für eine modify-änhliche Berechtigung. Bei dieser wird das „Delete“-Recht durch „Delete Subdirectories and Files“ ersetzt. Bei Modify Plus kann der Berechtigte das Verzeichnis, auf dem er dieses Modify-Recht explizit besitzt, weder umbenenen, noch verschieben oder gar löschen.
Bild: Bei der Berechtigungsvergabe unter Windows finden wir die bei den FileSystemRights angegebenen Einzelberechtigungen als „Erweiterte Berechtigungen“ bis zur Position 19 („Take Ownership“ = „Besitz übernehmen“) wieder. Position 20 („Synchronize“) wird nur vom System vergeben.
Zur Berechtigungsvergabe gehören weitere Parameter:
Der AccessControlType bestimmt, ob die angegebenen Rechte erlaubt oder nicht zugelassen werden. Angezeigt werden die Werte „Allow“ oder „Deny“. Die Werte sind alternativ.
Das PropagationFlag gibt an, wo das Recht gilt. Hier sind drei Werte möglich:
- nur in desem Ordner ,
- in den Unterordnern und
- auf Dateien bezogen .
Diese drei Werte können beliebig kombiniert werden.Standardmäßig sind alle drei Werte gesetzt, d.h. das Recht gilt in diesem Ordner, in den Unterordnern und auf die Dateien bezogen: .
Bei Listgruppen wird nur der erste Wert gesetzt, d.h. das Listrecht, es entspricht read & execute, gilt nur für den Ordner, auf dem es explizit vergeben wurden. Es gilt nicht für die Unterordner und nicht für die Dateien: .