Freigeben über


Sicherheit und Zugriffsrechte für Registrierungsschlüssel

Mit dem Windows-Sicherheitsmodell können Sie den Zugriff auf Registrierungsschlüssel steuern. Weitere Informationen zur Sicherheit finden Sie unter Access-Control Model.

Sie können einen Sicherheitsdeskriptor für einen Registrierungsschlüssel angeben, wenn Sie die RegCreateKeyEx oder RegSetKeySecurity-Funktion aufrufen. Wenn Sie NULL-angeben, erhält der Schlüssel einen Standardsicherheitsdeskriptor. Die ACLs in einem Standardsicherheitsdeskriptor für einen Schlüssel werden von seinem direkten übergeordneten Schlüssel geerbt.

Rufen Sie zum Abrufen der Sicherheitsbeschreibung eines Registrierungsschlüssels die RegGetKeySecurity, GetNamedSecurityInfo-oder GetSecurityInfo-Funktion auf.

Zu den gültigen Zugriffsrechten für Registrierungsschlüssel gehören DELETE, READ_CONTROL, WRITE_DAC und WRITE_OWNER Standardzugriffsrechte. Registrierungsschlüssel unterstützen das SYNCHRONIZE-Standardzugriffsrecht nicht.

In der folgenden Tabelle sind die spezifischen Zugriffsrechte für Registrierungsschlüsselobjekte aufgeführt.

Wert Bedeutung
KEY_ALL_ACCESS (0xF003F)
Kombiniert die STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY und KEY_CREATE_LINK Zugriffsrechte.
KEY_CREATE_LINK (0x0020)
Reserviert für die Systemverwendung.
KEY_CREATE_SUB_KEY (0x0004)
Erforderlich, um einen Unterschlüssel eines Registrierungsschlüssels zu erstellen.
KEY_ENUMERATE_SUB_KEYS (0x0008)
Erforderlich zum Aufzählen der Unterschlüssel eines Registrierungsschlüssels.
KEY_EXECUTE (0x20019)
Entspricht KEY_READ.
KEY_NOTIFY (0x0010)
Erforderlich, um Änderungsbenachrichtigungen für einen Registrierungsschlüssel oder für Unterschlüssel eines Registrierungsschlüssels anzufordern.
KEY_QUERY_VALUE (0x0001)
Erforderlich, um die Werte eines Registrierungsschlüssels abzufragen.
KEY_READ (0x20019)
Kombiniert die Werte STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS und KEY_NOTIFY.
KEY_SET_VALUE (0x0002)
Erforderlich zum Erstellen, Löschen oder Festlegen eines Registrierungswerts.
KEY_WOW64_32KEY (0x0200)
Gibt an, dass eine Anwendung unter 64-Bit-Windows in der 32-Bit-Registrierungsansicht ausgeführt werden soll. Dieses Kennzeichen wird von 32-Bit-Windows ignoriert. Weitere Informationen finden Sie unter Zugreifen auf eine alternative Registrierungsansicht.
Dieses Kennzeichen muss mit dem OR-Operator mit den anderen Flags in dieser Tabelle kombiniert werden, die entweder Registrierungswerte abfragen oder darauf zugreifen.
Windows 2000: Dieses Flag wird nicht unterstützt.
KEY_WOW64_64KEY (0x0100)
Gibt an, dass eine Anwendung unter 64-Bit-Windows in der 64-Bit-Registrierungsansicht ausgeführt werden soll. Dieses Kennzeichen wird von 32-Bit-Windows ignoriert. Weitere Informationen finden Sie unter Zugreifen auf eine alternative Registrierungsansicht.
Dieses Kennzeichen muss mit dem OR-Operator mit den anderen Flags in dieser Tabelle kombiniert werden, die entweder Registrierungswerte abfragen oder darauf zugreifen.
Windows 2000: Dieses Flag wird nicht unterstützt.
KEY_WRITE (0x20006)
Kombiniert die STANDARD_RIGHTS_WRITE, KEY_SET_VALUE und KEY_CREATE_SUB_KEY Zugriffsrechte.

Wenn Sie die RegOpenKeyEx--Funktion aufrufen, überprüft das System die angeforderten Zugriffsrechte auf den Sicherheitsdeskriptor des Schlüssels. Wenn der Benutzer nicht über den richtigen Zugriff auf den Registrierungsschlüssel verfügt, schlägt der Vorgang zum Öffnen fehl. Wenn ein Administrator Zugriff auf den Schlüssel benötigt, besteht die Lösung darin, die SE_TAKE_OWNERSHIP_NAME Berechtigung zu aktivieren und den Registrierungsschlüssel mit WRITE_OWNER Zugriff zu öffnen. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Berechtigungen.

Sie können den ACCESS_SYSTEM_SECURITY Zugriffsrecht auf einen Registrierungsschlüssel anfordern, wenn Sie die Systemzugriffssteuerungsliste (SACL) des Schlüssels lesen oder schreiben möchten. Weitere Informationen finden Sie unter Access-Control Listen (ACLs) und SACL Access Right.

Um die aktuellen Zugriffsrechte für einen Schlüssel anzuzeigen, einschließlich der vordefinierten Schlüssel, verwenden Sie den Registrierungs-Editor (Regedt32.exe). Wechseln Sie nach dem Navigieren zur gewünschten Taste zum Menü Bearbeiten, und wählen Sie Berechtigungenaus.