如果我在Windows中有3个单独的文件夹的以下3个权限值:
Decimal: 268435456 - Binary: 10000000000000000000000000000 - 29 bits
Decimal: 134217728 - Binary: 1000000000000000000000000000 - 28 bits
Decimal: 67108864 - Binary: 100000000000000000000000000 - 27 bits
如何解释这三个权限值?
这是MSDN访问掩码格式指南:
我应该在通用权限的最高有效位(左侧)之前填充0,以使二进制字长32位吗?
我的理解是,通用权限是32位无符号整数值,但我-1610612736
一直都在看到权限。它们是未签名的,只是被表示为已签名吗?
我正在使用PowerShell创建权限检查脚本并遇到此问题。我也在TechNet上发表过有关此问题的文章。
好的,因为我在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
现在填充:
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
所有32位权限应在左侧填充(最高有效位)。完成此操作后,将变得很清楚,该位如何与Microsoft用于确定权限的访问掩码对齐。
同样,似乎“通用读取”(-2147483648)的有符号和无符号表示产生了完全相同的二进制序列。我真的不是100%知道这个值上带有符号的含义,但是对于其他访问权限序列来说也许很重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句