Sicherheit und Zugriffsrechte für Registrierungsschlüssel

Mit 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, ruft der Schlüssel einen Standardsicherheitsdeskriptor ab. Die ACLs in einem Standardsicherheitsdeskriptor für einen Schlüssel werden von seinem direkten übergeordneten Schlüssel geerbt.

Um die Sicherheitsbeschreibung eines Registrierungsschlüssels zu erhalten, rufen Sie die RegGetKeySecurity-, GetNamedSecurityInfo-oder GetSecurityInfo-Funktion auf.

Die gültigen Zugriffsrechte für Registrierungsschlüssel umfassen die Standardzugriffsrechte DELETE, READ _ CONTROL, WRITE _ DAC und WRITE _ OWNER. Registrierungsschlüssel unterstützen das Standardzugriffsrecht SYNCHRONIZE nicht.

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

Wert Bedeutung
KEY _ ALL _ ACCESS (0xF003F)
Kombiniert die Zugriffsrechte STANDARD _ RIGHTS _ REQUIRED, KEY _ QUERY _ VALUE, KEY SET _ _ VALUE, KEY CREATE SUB _ _ _ KEY, KEY _ ENUMERATE _ SUB KEYS, KEY _ _ NOTIFY _ _ und KEY CREATE LINK.
KEY _ CREATE _ LINK (0x0020)
Ist für das System reserviert.
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 zum Anfordern von Änderungsbenachrichtigungen für einen Registrierungsschlüssel oder für Unterschlüssel eines Registrierungsschlüssels.
KEY _ QUERY _ VALUE (0x0001)
Erforderlich zum Abfragen der Werte eines Registrierungsschlüssels.
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 auf 64-Bit-Windows 32-Bit-Registrierungsansicht verwendet werden soll. Dieses Flag wird von 32-Bit-Windows. Weitere Informationen finden Sie unter Zugreifen auf eine alternative Registrierungssicht.
Dieses Flag muss mithilfe des OR-Operators mit den anderen Flags in dieser Tabelle kombiniert werden, die registrierungswerte abfragen oder darauf zugreifen.
Windows 2000: Dieses Flag wird nicht unterstützt.
KEY _ WOW64 _ 64KEY (0x0100)
Gibt an, dass eine Anwendung auf 64-Bit-Windows 64-Bit-Registrierungsansicht verwendet werden soll. Dieses Flag wird von 32-Bit-Windows. Weitere Informationen finden Sie unter Zugreifen auf eine alternative Registrierungssicht.
Dieses Flag muss mithilfe des OR-Operators mit den anderen Flags in dieser Tabelle kombiniert werden, die registrierungswerte abfragen oder darauf zugreifen.
Windows 2000: Dieses Flag wird nicht unterstützt.
KEY _ WRITE (0x20006)
Kombiniert die Zugriffsrechte STANDARD _ RIGHTS _ WRITE, KEY SET VALUE _ und KEY CREATE SUB _ _ _ _ KEY.

Wenn Sie die RegOpenKeyEx-Funktion aufrufen, überprüft das System die angeforderten Zugriffsrechte mit dem 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 in der Aktivierung SE TAKE OWNERSHIP NAME-Berechtigung, und öffnen Sie den Registrierungsschlüssel mit _ _ WRITE _ _ OWNER-Zugriff. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Berechtigungen.

Sie können das Zugriffsrecht ACCESS SYSTEM SECURITY für einen Registrierungsschlüssel anfordern, wenn Sie die Systemzugriffssteuerungsliste _ _ (SYSTEM Access Control List, SACL) des Schlüssels lesen oder schreiben möchten. Weitere Informationen finden Sie unter Zugriffssteuerungslisten (ACCESS-Control Lists, ACLs) und SACL Access Right.

Verwenden Sie zum Anzeigen der aktuellen Zugriffsrechte für einen Schlüssel, einschließlich der vordefinierten Schlüssel, den Registrierungs-Editor (Regedt32.exe). Navigieren Sie nach dem Navigieren zum gewünschten Schlüssel zum Menü Bearbeiten, und wählen Sie Berechtigungen aus.