Decodificando permissões/direitos de acesso genéricos no Windows

Decodificando permissões/direitos de acesso genéricos no Windows

Se eu tiver os três valores de permissão a seguir para três pastas separadas no Windows:

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits

Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits

Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits

Como interpreto esses 3 valores de permissão?

Aqui está oGuia de formato de máscara de acesso do MSDN:

Chave de máscara de acesso

Devo preencher minhas permissões genéricas com 0 na frente do bit mais significativo (o lado esquerdo) para tornar a palavra binária com 32 bits?

Meu entendimento é que as permissões genéricas são valores inteiros não assinados de 32 bits, mas vejo permissões -1610612736o tempo todo. Eles não estão assinados e estão simplesmente sendo representados como assinados?

Estou usando o PowerShell para criar um script de verificação de permissões e estou enfrentando esse problema...Esta postagem sobre stackoverflow é relevante.Também umPostagem do TechNet sobre esse problema.

Responder1

Ok, respondendo automaticamente como eu fizalguma ajuda no Technet.

Unpadded "268435456" "Generic All" 29 bits -     10000000000000000000000000000
Unpadded "536870912" "Generic Execute" 30 bits - 100000000000000000000000000000
Unpadded "1073741824" "Generic Write" 31 bits -  1000000000000000000000000000000
Unpadded "-2147483648" "Generic Read" 32 Bits -  10000000000000000000000000000000

Agora acolchoado:

Padded "268435456" "Generic All" 32 bits -     00010000000000000000000000000000
Padded "536870912" "Generic Execute" 32 bits - 00100000000000000000000000000000
Padded "1073741824" "Generic Write" 32 bits -  01000000000000000000000000000000
Padded "-2147483648" "Generic Read" 32 Bits -  10000000000000000000000000000000

Diagrama de máscara de acesso

Link para o artigo do MSDN sobre máscara de acesso.

Todas as permissões de 32 bits devem ser preenchidas no lado esquerdo (bit mais significativo). Feito isso, fica claro como o bit se alinha com as máscaras de acesso usadas pela Microsoft para determinar permissões.

Além disso, parece que as representações assinadas e não assinadas de "Leitura genérica" ​​(-2147483648) produzem exatamente a mesma sequência binária. Na verdade, não tenho 100% de certeza sobre o significado do sinal nesse valor, mas talvez seja importante para outras sequências de direitos de acesso.

informação relacionada