asb
 
   
 
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).