Windows
為什麼在檢查 ACL 訪問時有時會從 FileSystemRights 訪問欄位返回數字?
有時我會執行這樣的命令,我會得到一些易於閱讀、易於解釋的文本:
PS D:\test> (get-acl test.txt).Access | Select FileSystemRights FileSystemRights ---------------- Modify, Synchronize
…而其他時候我會得到一個號碼:
PS D:\test> (get-acl test2.txt).Access | Select FileSystemRights FileSystemRights ---------------- 268435456
數字是什麼,它是什麼意思?
FileSystemRights屬性是一個列舉。然而,一般權利將不被列舉。見輸出:
[System.Enum]::GetValues([System.Security.AccessControl.FileSystemRights])
訪問遮罩格式定義了通用訪問權限的高四位。這些權利是 GENERIC_ALL (268435456) – 你所看到的 GENERIC_EXECUTE (536870912)、 GENERIC_WRITE (1073741824) 和 GENERIC_READ(2147483648)
這只是一個有根據的猜測。
它是 Windows 較新的獨立分支上的映射驅動器。伺服器版本很可能有額外的 ACL 權限可用,而 Windows 7 Pro 沒有這些 ACL 權限的文本描述。因此它只顯示 ACL 的數值。