Udostępnij za pośrednictwem


Prawa dostępu i maski dostępu

prawa dostępu jest flagą bitową odpowiadającą określonemu zestawowi operacji, które wątek może wykonywać na zabezpieczanym obiekcie. Na przykład klucz rejestru ma prawo dostępu KEY_SET_VALUE, co odpowiada możliwości wątku ustawiania wartości pod kluczem. Jeśli wątek próbuje wykonać operację na obiekcie, ale nie ma niezbędnego prawa dostępu do obiektu, system nie wykonuje operacji.

Maska dostępu jest wartością 32-bitową, której bity odpowiadają prawom dostępu obsługiwanym przez obiekt. Wszystkie zabezpieczane obiekty systemu Windows używają format maski dostępu, który zawiera bity dla następujących typów praw dostępu:

Gdy wątek próbuje otworzyć dojście do obiektu, wątek zazwyczaj określa maskę dostępu, aby zażądać zestawu praw dostępu. Na przykład aplikacja, która musi ustawić i wysłać zapytanie o wartości klucza rejestru, może otworzyć klucz przy użyciu maski dostępu, aby zażądać KEY_SET_VALUE i KEY_QUERY_VALUE praw dostępu.

W poniższej tabeli przedstawiono funkcje, które manipulują informacjami o zabezpieczeniach dla każdego typu zabezpieczanego obiektu.

Typ obiektu Funkcje deskryptora zabezpieczeń
Pliki lub katalogi w systemie plików NTFS GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
nazwanych potokówpotoków anonimowych
GetSecurityInfoSetSecurityInfo
ekranu konsoli Nieobsługiwane.
procesywątków
GetSecurityInfoSetSecurityInfo
obiekty mapowania plików GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
tokeny dostępu SetKernelObjectSecurity, GetKernelObjectSecurity
Obiekty zarządzania oknami ( stacje okien i pulpitów) GetSecurityInfoSetSecurityInfo
klucze rejestru GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
usług systemu Windows GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Drukarki lokalne lub zdalne GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Udziały sieciowe GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
obiektów synchronizacji międzyprocesowych (zdarzenia, mutexes, semafory i czasomierze oczekiwania) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
obiekty zadań GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo