Systémové programování Windows Security Descriptor Obsah ► Prohlížení oprávnění ► SECURITY_ATTRIBUTES ► Security Descriptor ► Default Security Descriptor ► Access Control List ► AccessPermission ► Prohlížení oprávnění ► Soubory/adresáře ► http://www.sysinternals.com/ Sysinternals Suite: WinObj Base Nam ed O bj ects ► SECURITY ATTRIBUTES SA - SECURITY_ATTRIBUTES SecurityDescriptor - &SD typedef struct _SECURITY_ATTRIBUTES { DWORD nLength; LPVOID IpSecurityDescriptor; BOOL blnheritHandle; } SECURITY ATTRIBUTES, ► Default Security Descriptor ► Pokud není u objektu uveden Security Descriptor je použit tzv. Default Security Descriptor. ► Default Security Descriptor vychází z access tokenu aktuálního threadu. SECURITY DESCRIPTOR ► Vnitřní struktura není veřejná ► An owner security identifier (SID) ► A discretionary access control list (DACL) SD - Security Descriptor bDaclPresent = true bDacl = &ACL [| NULL ► BOOL WINAPI SetSecurityDescriptorDacl( _Inout_ PSECURITY_DESCRIPTOR pSecurityDescriptor _In_ BOOL bDaclPresent, _In_opt_ PACL pDacl, //NULL - úplný přistup všem //Prázdný - žádný přistup nikomu In BOOL bDaclDefaulted); ► Access Control List ACL - Access Control List ACE - Access Control Entry AccessMode = SET_ACCESS | DENY_ACCESS AccessPermissions = EVENT, MODIFY_STATE Trustee.ptstrName - (LPTSTR) pEveryoneSID ► AccessPermission ► Eventy ► EVENT_ALL_ACCESS (Oxl F0003) ► EVENT_MODIFY_STATE (0x0002) ► Mutexy ► MUTEX_ALL_ACCESS (OxIF0001) M UTEX_M O DI FY_STATE (0x0001) ► FileMapping ► FILE_MAP_READ (0x0004) ► FILE_MAP_WRITE (0x0002) ► SDDL ► "D:(A;;Ox 100002;;;WD)(A;;KA;;;BA)" http://msdn.microsoftxom/en-us/library/windows/desktop/aa374928(v=vs.85).aspx ► ConvertStringSecurityDescriptorToSecurityDescriptor ( _^n_ LPCWSTR StringSecurityDescriptor, _In_ DWORD StringSDRevision, // SDDL_REVISI0N_1 _Outptr_ PSECURITY_DESCRIPTOR * SecurityDescriptor, _Out_opt_ PULONG SecurityDescriptorSize ); ► ConvertSecurityDescriptorToStringSecurityDescriptor ► Díky za pozornost ►