Condividi tramite


Diritti di accesso

Un diritto di accesso è il diritto di eseguire una particolare operazione sull'oggetto. Ad esempio, il diritto di accesso FILE_READ_DATA specifica il diritto di lettura da un file.

Quando si apre un handle a un oggetto, si specifica un set di diritti di accesso corrispondenti alle operazioni che possono essere eseguite sull'oggetto. Il sistema controlla i diritti di accesso specificati rispetto al descrittore di sicurezza dell'oggetto per verificare se ogni operazione è consentita per l'utente corrente. Per altre informazioni, vedere Descrittori di sicurezza.

I diritti di accesso sono disponibili in due tipi:

Un diritto di accesso specifico è un diritto per eseguire una singola operazione. I diritti di accesso specifici possono dipendere dal tipo di oggetto.

Un diritto di accesso generico è un diritto per eseguire una delle operazioni simili. I diritti di accesso generico sono indipendenti dal tipo di oggetto.

I diritti di accesso standard sono diritti di accesso specifici che si applicano a tutti i tipi di oggetti. Ad esempio, il diritto di accesso DELETE è il diritto di eliminare un oggetto, indipendentemente dal tipo. Per altre informazioni sui diritti di accesso standard disponibili, vedere ACCESS_MASK.

Gli oggetti dispongono anche di diritti di accesso specifici che dipendono dal tipo dell'oggetto. Ad esempio, il FILE_READ_DATA rappresenta il diritto di leggere da un file, mentre il KEY_QUERY_VALUE rappresenta il diritto di leggere le voci di valore per una chiave del Registro di sistema.

Un tipo di oggetto può avere zero, uno o più diritti di accesso che corrispondono alla nozione generale di lettura o scrittura in un oggetto. Oltre a FILE_READ_DATA, ad esempio, gli oggetti file hanno il diritto di accesso FILE_READ_ATTRIBUTES, che rappresenta la lettura dei metadati di un file, ad esempio l'ora di creazione di file. Gli oggetti chiave hanno sia KEY_QUERY_VALUE che KEY_ENUMERATE_SUBKEYS, che rappresenta il diritto di leggere le sottochiavi di una chiave.

Per semplificare la specifica di tutti i diritti di accesso che corrispondono a una nozione generale, ad esempio la lettura o la scrittura, il sistema fornisce diritti di accesso generici. Il sistema esegue il mapping di un diritto di accesso generico al set appropriato di diritti di accesso specifici per l'oggetto.

Il sistema fornisce i seguenti diritti di accesso generico:

  • GENERIC_READ

  • SCRITTURA_GENERICA

  • ESECUZIONE_GENERICA

  • GENERIC_ALL

Di conseguenza, il sistema esegue il mapping GENERIC_READ a un set di diritti che include FILE_READ_DATA e FILE_READ_ATTRIBUTES per un file e KEY_QUERY_VALUE e KEY_ENUMERATE_SUBKEYS per una chiave. Per altre informazioni su ogni diritto di accesso generico, vedere ACCESS_MASK.