SuperACL:
Berechtigungen unter Windows mit NTFS Fileformat
In der vorliegenden Programmversion von SuperACL werden nur
die NTFS-Objektberechtigungen zur Berechnung der
effektiven Rechte berücksichtigt.
Keine Berücksichtigung finden insbesondere:
Share- Zugriffsrechte (in späterer Version
geplant)
Lokale Zugriffsprivilegien
FAT Attribute (Readonly)
W2k/OU basierende Rechte (Beschränkungen)
RWXDPO Notation
Die RWXDPO Notation ist "fast" allen NT/2000 Benutzern vertraut und Bedarf keiner
weiteren Erklärung.
Rechte
Bedeutung
R
Lesen
W
Schreiben
X
Ausführen
D
Löschen
P
Berechtigung ändern
O
Eigentümer übernehmen
Aber:
Unter NTFS werden keine Berechtigungen im RWXDPO Format, wie allgemein
dargestellt, gespeichert.
Unter NTFS setzen sich
die RWXDPO Berechtigungen aus einer Vielzahl von einzelnen Bits in der Security
Access Maske zusammen.
Security Access Maske
Für den Zugriff auf das Filesystem sowie weitere Objekte
wird eine
Zugriffsmaske der nachfolgenden Darstellung für jeden
Berechtigungseintrag (ACE) ausgewertet:
Die Kenntnis dieser Zugriffsmaske trägt massgeblich
zum Verständnis von Berechtigungen bei !
Unter Windows sind folgende
Detailberechtigungen verfügbar:
Bit
Name
.. für eine Datei
.. für ein Directory
Spezifische Rechte
0
List / Read_Data
FILE_DATA_READ
erlaubt Daten aus einem File zu lesen
FILE_LIST_DIRECTORY
erlaubt den Inhalt eines Directory zu lesen
"Rd"
1
Create_File / Write_Data
FILE_WRITE_DATA
erlaubt Daten zu Scheiben
File_ADD_DATA
erlaubt ein Datei im Directoy zu erzeugen.
"Wd"
2
Create_Folder / Append_Data
FILE_APPEND_DATA
erlaubt Daten anzuhängen
FILE_ADD_SUBDIRECTORY
erlaubt ein Subdirectory zu erzeugen
"Ad"
3
Read_Extend
FILE_READ_EA
erlaubt erweiterte Attibute zu lesen
Verwendung analog "File"
"Re"
4
Write_Extended
FILE_WRITE_EA
erlaubt erweiterte Attribute zu schreiben
Verwendung analog "File"
"We"
5
File_Traverse /
Execute
erlaubt eine Datei auszuführen
erlaubt ein Directory zu "traversieren"
(keine Bedeutung für Dir. selbst)
"X "
6
File_Delete _Child
keine Bedeutung
keine Bedeutung
"Dc"
7
Read_Attribute
Lesen der Fileattribute
Verwendung analog "File"
"Ra"
8
Write_Attribute
Ändern der Fileattribute
Verwendung analog "File"
"Wa"
9-15
reserviert
Standardrechte
16
Delete
Datei löschen
Directory löschen
"D "
17
Read_Control /
Read_Permisson
Lesen der DACL Einträge und
Besitzer
Verwendung analog "File"
"Rc"
18
Write_Dac /
Change_Permisson
Ändern der DACL Einträge
Verwendung analog "File"
"P "
19
Write_Owner /
Take_Ownership
Besitzer ändern
Verwendung analog "File"
"O "
20
Synchronize
erlaubt einem FileHandle auf
ein "Compliton I/O" zu warten.
keine Auswirkung auf
Berechtigung für Datei und Directory
"S "
21-23
nicht verwendet
Generische Rechte
24
Access_System _Security
Wird für den SACL Eintrag verwendet (Auditing)
Verwendung analog "File"
25
Maximum allowed
nicht verwendet
nicht verwendet
26
reserviert
27
reserviert
28
Generic_All
verwendet
verwendet
"RWX"
29
Generic_Execute
verwendet
verwendet
"X"
30
Generic_Write
verwendet
verwendet
"W"
31
Generic_Read
verwendet
verwendet
"R"
Erläuterung der Zugriffsrechte:
Die in der rechten Spalte verwendeten Abkürzungen werden in SuperACL zur Darstellung der erweiterten
Berechtigungsmasken verwendet.
Generische Zugriffsrechte
Generic_ALL ist gleichbedeutend mit:
Generic_Read +
Generic_Write +
Generic_Execute
= "RWX" in der RXWDPO Notation
Generic_Read ist gleichbedeutend mit:
FILE_READ_DATA +
FILE_READ_ATTRIBUTES +
FILE_READ_EA
FILE_READ_CONTROL
= "R" in der RXWDPO Notation
Generic_Write ist gleichbedeutend mit:
FILE_WRITE_DATA +
FILE_WRITE_ATTRIBUTES +
FILE_WRITE_EA +
FILE_APPEND_DATA
= "W" in der RXWDPO Notation
Generic_Execute ist gleichbedeutend mit:
SYNCHRONIZE +
FILE_EXECUTE.
Generic_Exeute hat keinen Einfluss auf
einen Directoryzugriff.
= "X" in der RXWDPO Notation
Erweiterte "rwxdpo" Notation:
in SuperACL
In SuperACL wurde die übersichtliche
Kurzdarstellung von Berechtigungen in der Form RWXDPO mit der
Schreibweise rwxdpo (Kleinbuchstaben) erweitert.
Die sensitive Schreibweise (Kleinbuchstaben) berücksichtigt die
Möglichkeiten der Zugriffsrechte von Dateien und
Verzeichnissen.
Immer dann, wenn nur "einzelne" Bits belegt
sind, aber keine vollständige Belegung vorliegt werden
"Kleinbuchstaben" angezeigt.
Folgende Belegungen sind möglich:
"r" Read wird gesetzt, wenn eines oder mehrere, aber nicht alle der folgenden BITS gesetzt ist: (Read_Data; Read_Attribute; Read_Extended; Read_Control)
"w" Write wird gesetzt, wenn eines oder mehrere, aber nicht alle der folgenden BITS gesetzt ist: (Write_Data; Write_Attributes; Write_Extended; Append_Data)
"x" Execute wird derzeit nicht verwendet, da Synchronize für Filezugriffe ohne
Bedeutung ist und somit "x" und "X" gleichbedeutend sind.
"d" Delete
derzeit nicht verwendet, da Delete_Child Bit in W2k keine Bedeutung und in W2k3 nicht mehr verwendet wird, "d" und "D" sind gleichbedeutend.
"p" Permisson
wird gesetzt, wenn der User = Owner des Objektes ist und dieser kein
Change_Permission Privileg hat, d.h. der User als Eigentümer die
Berechtigung
setzten darf und in Folge Objektzugriff erlangt.
"o" Take_OwnerShip
wird gesetzt, wenn dem User in der Domäne das Privileg "SE_Take_OwnerShip" zugeordnet wurde und somit in der Lage ist das Eigentum am Objekt zu übernehmen, ohne dass
er das objektspezifische Recht Take_OwerShip
besitzt.
(derzeit noch nicht implementiert).