Diritti di sicurezza e accesso delle chiavi del Registro di sistema
Il modello di sicurezza di Windows consente di controllare l'accesso alle chiavi del Registro di sistema. Per altre informazioni sulla sicurezza, vedere Modello di controllo di accesso.
È possibile specificare un descrittore di sicurezza per una chiave del Registro di sistema quando si chiama la funzione RegCreateKeyEx o RegSetKeySecurity . Se si specifica NULL, la chiave ottiene un descrittore di sicurezza predefinito. Gli ACL in un descrittore di sicurezza predefinito per una chiave vengono ereditati dalla chiave padre diretta.
Per ottenere il descrittore di sicurezza di una chiave del Registro di sistema, chiamare la funzione RegGetKeySecurity, GetNamedSecurityInfo o GetSecurityInfo .
I diritti di accesso validi per le chiavi del Registro di sistema includono delete, READ_CONTROL, WRITE_DAC e WRITE_OWNER diritti di accesso standard. Le chiavi del Registro di sistema non supportano il diritto di accesso standard SYNC.
Nella tabella seguente sono elencati i diritti di accesso specifici per gli oggetti chiave del Registro di sistema.
Valore | Significato |
---|---|
KEY_ALL_ACCESS (0xF003F) |
Combina i diritti di accesso STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY e KEY_CREATE_LINK. |
KEY_CREATE_LINK (0x0020) |
Riservato per l'utilizzo nel sistema. |
KEY_CREATE_SUB_KEY (0x0004) |
Obbligatorio per creare una sottochiave di una chiave del Registro di sistema. |
KEY_ENUMERATE_SUB_KEYS (0x0008) |
Obbligatorio per enumerare le sottochiave di una chiave del Registro di sistema. |
KEY_EXECUTE (0x20019) |
Equivalente a KEY_READ. |
KEY_NOTIFY (0x0010) |
Obbligatorio per richiedere notifiche di modifica per una chiave del Registro di sistema o per le sottochiave di una chiave del Registro di sistema. |
KEY_QUERY_VALUE (0x0001) |
Obbligatorio per eseguire query sui valori di una chiave del Registro di sistema. |
KEY_READ (0x20019) |
Combina i valori STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS e KEY_NOTIFY. |
KEY_SET_VALUE (0x0002) |
Obbligatorio per creare, eliminare o impostare un valore del Registro di sistema. |
KEY_WOW64_32KEY (0x0200) |
Indica che un'applicazione in Windows a 64 bit deve funzionare nella visualizzazione del Registro di sistema a 32 bit. Questo flag viene ignorato da Windows a 32 bit. Per altre informazioni, vedere Accesso a una visualizzazione registro alternativo. Questo flag deve essere combinato usando l'operatore OR con gli altri flag di questa tabella che eseguono query o accedono ai valori del Registro di sistema. Windows 2000: Questo flag non è supportato. |
KEY_WOW64_64KEY (0x0100) |
Indica che un'applicazione in Windows a 64 bit deve funzionare nella visualizzazione del Registro di sistema a 64 bit. Questo flag viene ignorato da Windows a 32 bit. Per altre informazioni, vedere Accesso a una visualizzazione registro alternativo. Questo flag deve essere combinato usando l'operatore OR con gli altri flag di questa tabella che eseguono query o accedono ai valori del Registro di sistema. Windows 2000: Questo flag non è supportato. |
KEY_WRITE (0x20006) |
Combina i diritti di accesso STANDARD_RIGHTS_WRITE, KEY_SET_VALUE e KEY_CREATE_SUB_KEY. |
Quando si chiama la funzione RegOpenKeyEx , il sistema controlla i diritti di accesso richiesti rispetto al descrittore di sicurezza della chiave. Se l'utente non dispone dell'accesso corretto alla chiave del Registro di sistema, l'operazione di apertura ha esito negativo. Se un amministratore deve accedere alla chiave, la soluzione consiste nell'abilitare il privilegio SE_TAKE_OWNERSHIP_NAME e aprire la chiave del Registro di sistema con l'accesso WRITE_OWNER. Per altre informazioni, vedere Abilitazione e disabilitazione dei privilegi.
È possibile richiedere il diritto di accesso ACCESS_SYSTEM_SECURITY a una chiave del Registro di sistema se si vuole leggere o scrivere l'elenco di controllo di accesso al sistema della chiave (SACL). Per altre informazioni, vedere Elenchi di controllo di accesso (ACL) e SACL Access Right.
Per visualizzare i diritti di accesso correnti per una chiave, incluse le chiavi predefinite, usare l'editor del Registro di sistema (Regedt32.exe). Dopo aver eseguito il passaggio alla chiave desiderata, passare al menu Modifica e selezionare Autorizzazioni.