Decodificación de permisos genéricos/derechos de acceso en Windows

Decodificación de permisos genéricos/derechos de acceso en Windows

Si tengo los siguientes 3 valores de permiso para 3 carpetas separadas en Windows:

Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits

Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits

Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits

¿Cómo interpreto estos 3 valores de permiso?

Aquí está elGuía de formato de máscara de acceso de MSDN:

Tecla Máscara de acceso

¿Debería rellenar mis permisos genéricos con 0 delante del bit más significativo (el lado izquierdo) para que la palabra binaria tenga 32 bits de longitud?

Tengo entendido que los permisos genéricos son valores enteros sin signo de 32 bits, pero veo permisos como -1610612736todo el tiempo. ¿Están sin firmar y simplemente se presentan como firmados?

Estoy usando PowerShell para crear un script de verificación de permisos y me encuentro con este problema...Esta publicación de stackoverflow es relevante.También unPublicación de TechNet que tengo sobre este tema..

Respuesta1

Ok auto respondiendo como lo hicealgo de ayuda en 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

Ahora acolchado:

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 acceso

Enlace al artículo de MSDN sobre máscara de acceso.

Todos los permisos de 32 bits deben rellenarse en el lado izquierdo (el bit más significativo). Una vez hecho esto, queda claro cómo el bit se alinea con las máscaras de acceso utilizadas por Microsoft para determinar los permisos.

Además, parece que las representaciones con y sin signo de "Lectura genérica" ​​(-2147483648) producen exactamente la misma secuencia binaria. Realmente no estoy 100% seguro de qué relación tiene el signo con este valor, pero tal vez sea importante para otras secuencias de derechos de acceso.

información relacionada