Condividi tramite


Diritti di accesso

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

Quando si apre un handle a un oggetto, specificare 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 un'unica operazione. I diritti di accesso specifici possono dipendere dal tipo di oggetto.

Un diritto di accesso generico è un diritto per eseguire un set di 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, la FILE_READ_DATA rappresenta il diritto di leggere da un file, mentre la 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. Ad esempio, oltre a FILE_READ_DATA, gli oggetti file hanno il diritto di accesso FILE_READ_ATTRIBUTES, che rappresenta per leggere i 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 sottochiave di una chiave.

Per semplificare la specifica di tutti i diritti di accesso corrispondenti a un concetto generale, ad esempio lettura o 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 diritti di accesso generici seguenti:

  • GENERIC_READ

  • GENERIC_WRITE

  • GENERIC_EXECUTE

  • GENERIC_ALL

Pertanto, il sistema esegue il mapping GENERIC_READ a un set di diritti che includono 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.