| Contens | NTFS Security Model© Thomas Schedl 2019
      1 Security Descriptor2 ACE-Entry
 2.1 Access Mode
 2.2 Standard Permissions
 2.3 Special Permissions
 2.4 Generic Permissions
 2.5 Inheritance
 
 
       
 1 Security DescriptorThe Security Descriptor contains all meta information
         about access rights of a Windows Object
         (file, registry, process, printer, ...)
         and could be seen as data structure with the following entries: 
 
        
          
          
        
        
          | Owner: | Owner of the Object |  
          | Primary Group: | for POSIX and UNIX compatibility |  
          | Global Flags: | Version and Inheritance for all principals |  
          | DACL: | Discretionary Access Control List |  
          | SACL: | System Access Control List |  Details for Global Flags:
      
 
        
          
          
        
        
          | SDDL | Meaning |  
          | P | The SE_DACL_PROTECTED flag is set. |  
          | AR | The SE_DACL_AUTO_INHERIT_REQ flag is set. |  
          | AI | The SE_DACL_AUTO_INHERITED flag is set. |  
          | SR | The SE_SELF_RELATIVE flag is set (not shown with ntfsacl.exe). |  The Security Descriptor can be in absolut or
         self-relative Format:
        
  
 
      The self-relative Format is the compact
                      Version of the SDand contains
                      all information in one block. The canonical order ensures that an explicit access-denied
         ACEis enforced regardless of any explicit
         access-allowedACE.During an access check, the operating system steps through the
 ACEsin the order in which they appear in the
         object’sDACL, so that the denyACEis processed before the allowACE.  
 
       
 2 ACE-Entry2.1 Access Mode
        
          
          
          
          
          
        
        
          | grfAccessMode | SDDL | Access Mode | Description | Beschreibung |  
          | 0x0000 0001 | A | GRANT_ACCESS | Allow | Zulassen |  
          | 0x0000 0002 |  | SET_ACCESS |  |  |  
          | 0x0000 0003 | D | DENY_ACCESS | Deny | Verweigern |  
          | 0x0000 0004 |  | REVOKE_ACCESS |  |  |  
       
 2.2 Standard Permissions
 
        
          
          
          
          
          
        
        
          | grfAccessPermissions | SDDL | Access Mask | Description | Beschreibung |  
          | 0x001f 03ff | FA | FILE_ALL_ACCESS | Full Control | Vollzugriff |  
          | 0x0013 01bf | 0x1301bf | combination of special perm. | Modify | Ändern |  
          | 0x0012 00a9 | 0x1200a9 | FILE_GENERIC_READ | FILE_EXECUTE | Read & Execute | Lesen, Ausführen |  
          | 0x0012 0089 | FR | FILE_GENERIC_READ | Read | Lesen |  
          | 0x0010 0116 | 0x100116 | combination of special perm. | Write | Schreiben |  
       
 2.3 Special Permissions
        
          
          
          
          
          
        
        
          | grfAccessPermissions | SDDL | Access Mask | Description | Beschreibung |  
          | 0x0000 0001 | 0x100001 | FILE_READ_DATA | List Folder / Read Data | Ordner auflisten / Daten lesen |  
          | 0x0000 0002 | 0x100002 | FILE_WRITE_DATA | Create Files / Write Data | Dateien erstellen / Daten schreiben |  
          | 0x0000 0004 | 0x100004 | FILE_APPEND_DATA | Create Folders / Append Data | Ordner erstellen / Daten anhängen |  
          | 0x0000 0008 | 0x100008 | FILE_READ_EA | Read Extended Attributes | Erweiterte Attribute lesen |  
          | 0x0000 0010 | 0x100010 | FILE_WRITE_EA | Write Extended Attributes | Erweiterte Attribute schreiben |  
          | 0x0000 0020 | 0x100020 | FILE_EXECUTE | Traverse Folder / Execute File | Ordner durchsuchen / Dateien ausführen |  
          | 0x0000 0040 | 0x100040 | FILE_DELETE_CHILD | Delete Subfolders and Files | Unterordner und Daten löschen |  
          | 0x0000 0080 | 0x100080 | FILE_READ_ATTRIBUTES | Read Attributes | Attribute lesen |  
          | 0x0000 0100 | 0x100100 | FILE_WRITE_ATTRIBUTES | Write Attributes | Attribute schreiben |  
          | 0x0001 0000 | SD | DELETE | Delete | Löschen |  
          | 0x0002 0000 | RC | READ_CONTROL | Read Permissions | Berechtigungen lesen |  
          | 0x0004 0000 | WD | WRITE_DAC | Change Permissions | Berechtigungen ändern |  
          | 0x0008 0000 | WO | WRITE_OWNER | Take Ownership | Besitzrecht übernehmen |  
          | 0x0010 0000 | always added | SYNCHRONIZE | invisible | unsichtbar |  
       
 2.4 Generic Permissions
        
          
          
          
        
        
          | 0x1000 0000 | GA | GENERIC_ALL |  
          | 0x2000 0000 | GX | GENERIC_EXECUTE |  
          | 0x4000 0000 | GW | GENERIC_WRITE |  
          | 0x8000 0000 | GR | GENERIC_READ |  
          | 0xa000 0000 |  | GENERIC_EXECUTE | GENERIC_READ |  
          | 0xe000 0000 |  | GENERIC_EXECUTE | GENERIC_WRITE | GENERIC_READ |  Found when evaluating an
 ACEin a Security Descriptor
        (SD).e.g. At the root of a disk. Not found in the GUI.
 
       
 2.5 Inheritance
 
        
          
          
        
        
          | grfInheritance | SDDL | Inheritance FLAG | Description | Beschreibung |  
          | 0x0000 0000 |  |  | This folder only | Nur diesen Ordner |  
          | 0x0000 0001 | OI | OBJECT_INHERIT_ACE | This folder and files | Diesen Ordner, Dateien |  
          | 0x0000 0002 | CI | CONTAINER_INHERIT_ACE | This folder and subfolders | Diesen Ordner, Unterordner |  
          | 0x0000 0003 | OICI | OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE | This folder, subfolders and files | Diesen Ordner, Unterordner und Dateien |  
          | 0x0000 0004 | NP | NO_PROPAGATE_INHERIT_ACE | Apply these permissions ... | Berechtigungen nur in diesem Container ... |  
          | 0x0000 0009 | OIIO | OBJECT_INHERIT_ACE | INHERIT_ONLY_ACE | Files only | Nur Dateien |  
          | 0x0000 000a | CIIO | CONTAINER_INHERIT_ACE | INHERIT_ONLY_ACE | Subfolders only | Nur Unterordner |  
          | 0x0000 000b | OICIIO | OBJECT_ ... | CONTAINER_ ... | INHERIT_ ... | Subfolders and files only | Nur Unterordner und Dateien |  
          | 0x0000 0010 | ID | INHERITED_ACE | inherited | geerbt von |  
 NTFS since Windows XP allows a special inheritance with
                      an one level scope for all child objects
 
 
       
 |