Windows

為什麼在檢查 ACL 訪問時有時會從 FileSystemRights 訪問欄位返回數字?

  • August 8, 2016

有時我會執行這樣的命令,我會得到一些易於閱讀、易於解釋的文本:

   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 的數值。

引用自:https://serverfault.com/questions/795611