Direitos de acesso e máscaras de acesso

Um direito de acesso é um sinalizador de bits que corresponde a um determinado conjunto de operações que um thread pode executar em um objeto protegível. Por exemplo, uma chave do Registro tem o direito de acesso KEY_SET_VALUE, que corresponde à capacidade de um thread de definir um valor sob a chave. Se um thread tentar executar uma operação em um objeto , mas não tiver o direito de acesso necessário ao objeto , o sistema não executará a operação.

Uma máscara de acesso é um valor de 32 bits cujos bits correspondem aos direitos de acesso suportados por um objeto . Todos os objetos protegíveis do Windows usam um formato de máscara de acesso que inclui bits para os seguintes tipos de direitos de acesso:

Quando um thread tenta abrir um identificador para um objeto, o thread normalmente especifica uma máscara de acesso para solicitar um conjunto de direitos de acesso. Por exemplo, um aplicativo que precisa definir e consultar os valores de uma chave do Registro pode abrir a chave usando uma máscara de acesso para solicitar o KEY_SET_VALUE e KEY_QUERY_VALUE direitos de acesso.

A tabela a seguir mostra as funções que manipulam as informações de segurança para cada tipo de objeto protegível.

Tipo de objeto Funções de descritor de segurança
Arquivos ou diretórios em um sistema de arquivos NTFS GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Pipes nomeados Pipesanônimos
GetSecurityInfo, SetSecurityInfo
Buffers de tela do console Sem suporte.
ProcessaThreads
GetSecurityInfo, SetSecurityInfo
Objetos de mapeamento de arquivo GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Tokens de acesso SetKernelObjectSecurity, GetKernelObjectSecurity
Objetos de gerenciamento de janelas (estações de janela e áreas de trabalho) GetSecurityInfo, SetSecurityInfo
Chaves do Registro GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Serviços Windows GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Impressoras locais ou remotas GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Compartilhamentos de rede GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Objetos de sincronização entre processos (eventos, mutexes, semáforos e temporizadores de espera) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Objetos de trabalho GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo