Partilhar via


Mapeando identificadores posix

O subsistema Posix deve ser capaz de converter qualquer SID ( identificador de segurança ) encontrado em um valor de 32 bits, chamado de ID posix. Além disso, ele deve ser capaz de categorizar a ID como uma ID de usuário ou uma ID de grupo. Para entender como esse mapeamento é realizado, primeiro vamos examinar os SIDs que devem ser mapeados.

Os SIDs têm dois componentes, o SID do domínio e a ID relativa da conta no domínio. Por exemplo, no SID S-1-518364-21-43-8, o último número, 8, é a ID relativa da conta (RID) e S-1-518364-21-43 é o SID do domínio.

As informações de domínio são armazenadas em objetos TrustedDomain . Parte das informações armazenadas em um objeto TrustedDomain é um deslocamento de ID posix a ser usado para SIDs dentro desse domínio. Por exemplo, suponha que um TrustedDomain seja definido da seguinte maneira:

    Name:    NtPgm
    Sid:    S-1-518364-21-43
    Posix Offset:    0x130000

As IDs posix para contas nesse domínio seriam geradas adicionando 0x130000 à ID relativa da conta. Portanto, a ID posix correspondente ao SID S-1-518364-21-43-8 seria 0x130008.

Nem todas as traduções de ID posix usam um objeto TrustedDomain . A tabela a seguir mostra SIDs mapeados usando valores de deslocamento conhecidos.

Fonte Deslocamento da ID do Posix
SIDs do domínio interno 0x20000
SIDs do domínio da conta 0x30000
SIDs do domínio primário (somente em estações de trabalho) 0x40000

 

E, por fim, um outro conjunto de SIDs, SIDs de logon, requer processamento especial. Esses valores são atribuídos pelo processo de logon do Windows para cada sessão de logon e têm o formulário S-1-5-5-X-Y, em que X e Y são tratados como um único LARGE_INTEGER incrementado para cada sessão de logon. Esses SIDs são mapeados para a constante ID do Posix 0xFFF. Para mapear a ID do Posix 0xFFF, você pode traduzir qualquer identificador de logon mais adequado à situação ou pode usar o S-1-5-5-0-0 por padrão. (Por exemplo, se um usuário posix aplicar proteção a um objeto e especificar FFFx, será melhor substituir o identificador de logon desse usuário do que apenas atribuir S-1-5-5-0-0.)