Zugriffsrechte und Zugriffsmasken

Ein Zugriffsrecht ist ein Bitflag, das einem bestimmten Satz von Vorgängen entspricht, die ein Thread für ein sicherungsfähiges Objekt ausführen kann. Beispielsweise verfügt ein Registrierungsschlüssel über das Zugriffsrecht KEY_SET_VALUE, das der Fähigkeit eines Threads entspricht, einen Wert unter dem Schlüssel festzulegen. Wenn ein Thread versucht, einen Vorgang für ein Objekt auszuführen, aber nicht über das erforderliche Zugriffsrecht auf das Objekt verfügt, führt das System den Vorgang nicht aus.

Eine Zugriffsmaske ist ein 32-Bit-Wert, dessen Bits den von einem Objekt unterstützten Zugriffsrechten entsprechen. Alle sicherungsfähigen Windows-Objekte verwenden ein Zugriffsmaskenformat , das Bits für die folgenden Arten von Zugriffsrechten enthält:

Wenn ein Thread versucht, ein Handle für ein Objekt zu öffnen, gibt der Thread in der Regel eine Zugriffsmaske an, um einen Satz von Zugriffsrechten anzufordern. Beispielsweise kann eine Anwendung, die die Werte eines Registrierungsschlüssels festlegen und abfragen muss, den Schlüssel mithilfe einer Zugriffsmaske öffnen, um die KEY_SET_VALUE und KEY_QUERY_VALUE Zugriffsrechte anzufordern.

Die folgende Tabelle zeigt die Funktionen, die die Sicherheitsinformationen für jeden Sicherungsobjekttyp bearbeiten.

Objekttyp Sicherheitsdeskriptorfunktionen
Dateien oder Verzeichnisse in einem NTFS-Dateisystem GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Named Pipes AnonymePipes
GetSecurityInfo, SetSecurityInfo
Konsolenbildschirmpuffer Wird nicht unterstützt.
Prozessthreads
GetSecurityInfo, SetSecurityInfo
Dateizuordnungsobjekte GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Zugriffstoken SetKernelObjectSecurity, GetKernelObjectSecurity
Fensterverwaltungsobjekte (Fensterstationen und Desktops) GetSecurityInfo, SetSecurityInfo
Registrierungsschlüssel GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Windows-Dienste GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Lokale oder Remotedrucker GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Netzwerkfreigaben GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Interprocess-Synchronisierungsobjekte (Ereignisse, Mutexe, Semaphore und wartebare Timer) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Auftragsobjekte GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo