Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando um thread tenta acessar um objeto protegível, o sistema concede ou nega acesso. Se o objeto não tiver uma lista de controle de acesso discricionário (DACL), o sistema concede acesso; caso contrário, o sistema procura entradas de controle de acesso (ACEs) na DACL do objeto que se aplicam ao thread. Cada ACE na DACL do objeto especifica os direitos de acesso permitidos ou negados para um de confiança, que pode ser uma conta de usuário, uma conta de grupo ou uma sessão de logon .
DACLs
O sistema compara o responsável em cada ACE com os responsáveis identificados no token de acesso do thread. Um token de acesso contém identificadores de segurança (SIDs) que identificam o usuário e as contas de grupo às quais o usuário pertence. Um token também contém umSID de logonque identifica a sessão de logon atual. Durante uma verificação de acesso, o sistema ignora SIDs de grupo que não estão habilitados. Para obter mais informações sobre SIDs ativados, desativados e apenas de negação, consulte atributos SID num token de acesso.
Normalmente, o sistema usa o token de acesso primário do thread que está solicitando acesso. No entanto, se o thread estiver se passando por outro usuário, o sistema usará o token de representação do thread.
O sistema examina cada ECA em sequência até que ocorra um dos seguintes eventos:
- Uma ACE de acesso negado nega explicitamente qualquer um dos direitos de acesso de solicitados a um dos trustees listados no token de acesso do thread.
- Uma ou mais ACEs com acesso permitido para trustees listados no token de acesso do thread concedem explicitamente todos os direitos de acesso solicitados.
- Todas as ACEs foram verificadas e ainda há pelo menos um direito de acesso solicitado que não foi explicitamente permitido, caso em que o acesso é implicitamente negado.
A ilustração a seguir mostra como a DACL de um objeto pode permitir acesso a um thread enquanto nega acesso a outro.
Para o Thread A, o sistema lê o ACE 1 e nega imediatamente o acesso porque o ACE de acesso negado se aplica ao usuário no token de acesso do thread. Neste caso, o sistema não verifica as ACEs 2 e 3. Para o Thread B, o ACE 1 não se aplica, então o sistema prossegue para o ACE 2, que permite acesso de gravação, e o ACE 3, que permite acesso de leitura e execução.
Como o sistema para de verificar ACEs quando o acesso solicitado é explicitamente concedido ou negado, a ordem das ACEs em uma DACL é importante. Observe que, se a ordem ACE fosse diferente no exemplo, o sistema poderia ter concedido acesso a Thread A. Para objetos do sistema, o sistema operativo define uma ordem preferencial de ACEs numa DACL.