Popisovač zabezpečení
Popisovač zabezpečení (anglicky Security descriptor) je datová struktura s informacemi, které v operačním systému Windows umožňují nebo znemožňují přístup k securable objektu. Securable objekt je libovolný objekt, který lze identifikovat jednoznačným jménem – soubor, složka, sdílení, položka v registru Windows, proces, vlákno, pojmenovaná roura, služba, úloha nebo jiný prostředek.[1]
Základem popisovače zabezpečení jsou nepovinné (anglicky discretionary) Access control lists (DACLs), které obsahují položky pro řízení přístupu (anglicky access control entries, ACEs) umožňující nebo znemožňující přístup uživatelům nebo skupinám (souhrnně anglicky trustees). Popisovač může obsahovat i systémové seznamy řízení přístupu (SACLs), které řídí auditování přístupu k objektu.[2][3] ACEs mohou být explicitně definovány pro daný objekt, nebo mohou být zděděny z nadřízeného objektu. Na pořadí ACEs v ACL záleží, položky znemožňující přístup jsou před položkami umožňujícími přístup. Součástí popisovače zabezpečení je také informace o vlastníkovi objektu.
Popisovače zabezpečení mohou obsahovat také informace pro povinné Mandatory Integrity control, které jsou v popisovačích zabezpečení implementovány novým typem ACE[4].
Oprávnění k souborům a složkám (adresářům) lze upravovat různými prostředky – grafickými programy Windows Explorer nebo WMI, nástroji pro příkazový řádek jako Cacls, XCacls, ICacls, SubInACL,[5][6] freewarovým programem FILEACL pro Win32 konzoli,[7][8] svobodnou utilitou SetACL a dalšími programy. Pro úpravy popisovače zabezpečení musí mít uživatel oprávnění WRITE_DAC k příslušnému objektu,[9], které je obvykle implicitně delegováno správcům systému a vlastníkovi objektu.
Oprávnění v NTFS
NTFS disponuje sadou 14 (ve starších systémech 12) oprávnění pro soubory a složky (anglicky permissions for files and folders), která jsou v podobě ACL uložena v popisovačích zabezpečení. Popis oprávnění na NTFS je komplikován několika vrstvami mapování oprávnění; na oprávnění pro soubory a složky uvedená v jednotlivých řádcích tabulky jsou mapována generická přístupová práva (anglicky generic access rights) (v tabulce sloupce GR, GE, GW a GA pro GENERIC_READ, GENERIC_EXECUTE, GENERIC_WRITE a GENERIC_ALL), standardní přístupová práva (anglicky standard access rights) a speciální oprávnění (anglicky special permissions)[10][11][12]. Různé programy používají pro stejná oprávnění různá jména a zkratky (sloupce icacls a cacls):
winnt.h | soubory | složky | GR | GE | GW | GA | BM | icacls | cacls |
0x01 | Read Data | List Folder | + | + | + | + | RD | FILE_READ_DATA | |
0x80 | Read Attributes | + | + | + | + | RA | FILE_READ_ATTRIBUTES | ||
0x08 | Read Extended Attributes | + | + | + | + | REA | FILE_READ_EA | ||
0x20 | Execute File | Traverse Folder | + | + | + | X | FILE_EXECUTE | ||
0x20000 | Read Permissions | + | + | + | + | + | RC | READ_CONTROL | |
0x100000 | Synchronize | + | + | + | + | + | S | SYNCHRONIZE | |
0x02 | Write Data | Create Files | + | + | + | WD | FILE_WRITE_DATA | ||
0x04 | Append Data | Create Folders | + | + | + | AD | FILE_APPEND_D | ||
0x100 | Write Attributes | + | + | + | WA | FILE_WRITE_ATTRIBUTES | |||
0x10 | Write Extended Attributes | + | + | + | WEA | FILE_WRITE_EA | |||
0x10000 | Delete | + | + | DE | DELETE | ||||
0x40000 | Change Permissions | + | WDAC | WRITE_DAC | |||||
0x80000 | Take Ownership | + | WO | WRITE_OWNER | |||||
0x40 | Delete Subfolders and Files | + | DC | FILE_DELETE_CHILD |
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Security descriptor na anglické Wikipedii.
- ↑ Securable Objects [online]. Microsoft, 2008-04-24 [cit. 2008-07-16]. Dostupné online.
- ↑ What Are Security Descriptors and Access Control Lists? [online]. Microsoft [cit. 2008-07-16]. Dostupné v archivu pořízeném dne 2008-05-05.
- ↑ DACLs and ACEs [online]. Microsoft, 2008-04-24 [cit. 2008-07-16]. Dostupné online.
- ↑ https://msdn.microsoft.com/en-us/library/bb625957.aspx What is the Windows Integrity Mechanism?
- ↑ SUBINACL.exe [online]. ss64.com [cit. 2019-11-29]. Dostupné online./
- ↑ SubInACL domovská stránka [online]. Microsoft. Dostupné online.
- ↑ Domovská stránka FILEACL. www.gbordier.com [online]. [cit. 2017-10-10]. Dostupné v archivu pořízeném dne 2012-08-29.
- ↑ FILEACL v3.0.1.6 [online]. Microsoft, 2004-03-23 [cit. 2008-07-25]. Dostupné v archivu pořízeném dne 2008-04-16.
- ↑ ACCESS_MASK Data Type [online]. Microsoft, 2008-04-24 [cit. 2008-07-23]. Dostupné online.
- ↑ How Permissions Work [online]. Microsoft, 2013-06-21 [cit. 2017-11-24]. Dostupné online.
- ↑ CIVIL, Richard. How IT works NTFS Permissions, Part 2 [online]. Microsoft [cit. 2017-11-24]. Dostupné online.
- ↑ CIVIL, Richard. How IT works NTFS Permissions [online]. Microsoft [cit. 2017-11-24]. Dostupné online.