在 ls -l 輸出中查看帶有“+”的文件的擴展 ACL
列表中的文件
ls -l
具有以下權限:-rw-r-----+
如何找到由 ? 表示的擴展訪問控制列表 (ACL) 權限
+
?
Tom Hale 的答案中的名稱
getfacl
和setfacl
as 是半傳統的,並且源自原始 TRUSIX 名稱getacl
和setacl
這些實用程序。然而,在幾個作業系統上,人們只使用常用的工具ls
和chmod
工具,這些工具已擴展為處理 ACL;一個作業系統有自己不同的命令集。POSIX 樣式 ACL 的原始 TRUSIX 方案在訪問控制列表條目中具有三個權限標誌。後來的 NFS4 樣式方案以更細粒度的方式將權限劃分為 11 到 17 個權限標誌。
- https://superuser.com/a/384500/38062
- 克雷格魯賓 (1989-08-18)。 為 Unix 系統選擇訪問控制列表功能的基本原理。NCSC-TG-020-A。黛安出版。國際標準書號 9780788105548。
- IEEE 電腦協會攜帶式應用標準委員會(1997 年 10 月)。 資訊技術標準草案 - 攜帶式作業系統介面 (POSIX) - 第 1 部分:系統應用程序介面 (API) - 修訂號:保護、審計和控制介面$$ C Language $$ IEEE 1003.1e。草案 17。
- S. Shepler、M. Eisler、D. Noveck(2010 年 1 月)。 “ACE 訪問遮罩”。網路文件系統 (NFS) 版本 4 次要版本 1 協議。RFC 5661。IETF。
在 OpenBSD 和 NetBSD 上
這種情況不會出現。OpenBSD 和 NetBSD 都缺乏任何 ACL 機制。
NetBSD 在 FreeBSD 兼容層中實現系統呼叫,但它們只返回一個錯誤。OpenBSD 根本沒有 ACL。
在基於 Linux 的作業系統上
getfacl
在湯姆黑爾的答案中使用,或getrichacl
。使用setfacl
或設置 ACLsetrichacl
。Linux(一個核心,記住)有兩種形式的 ACL。它支持 POSIX 樣式 ACL 的原始 TRUSIX 方案和(自 2015 年以來,但由於沒有足夠的維護人員可用於審查 Linux 中的 VFS 層而長期處於“實驗”狀態)NFS4 樣式方案.
在基於 Linux 的作業系統上有多種標準命令的實現,從 toybox 到 BusyBox 再到 GNU coreutils。但在所有情況下
chmod
都不處理 ACL,ls
最多只表明它們的整體存在或不存在。這與 Solaris、Illumos 或 MacOS 不同。也沒有一種工具可以獲取或設置 ACL。
setfacl
並getfacl
處理 TRUSIX ACL,而對於 NFS4 樣式的 ACL,必須使用setrichacl
和getrichacl
。這與 FreeBSD 不同。
- 羅伯·蘭德利。“
chmod
”。 玩具盒說明書。在 FreeBSD 上
getfacl
在湯姆黑爾的回答中使用。設置 ACL 使用setfacl
.FreeBSD 有兩種形式的 ACL。一個具有 POSIX 風格的條目,如原始 TRUSIX 模型;另一個具有 NFS4 樣式的條目,具有 14 個權限標誌。
與 Solaris、Illumos 和 MacOS 不同,FreeBSD
chmod
不處理 ACL,ls
只指示它們的整體存在或不存在。但與基於 Linux 的作業系統不同,每個工具都有一個用於獲取和設置 ACL 的工具。FreeBSD 上的getfacl
andsetfacl
命令處理兩種形式的 ACL。除了 TRUSIX 之外,它們還有幾個 NFS4 樣式的擴展,例如以長格式列印 NFS4 樣式訪問控制的-v
選項getfacl
,而不是單字母程式碼列表。
- 羅伯特 NM 沃森 (2009-09-14)。
getfacl
. FreeBSD 通用命令手冊。自由BSD。在 MacOS 上
MacOS上沒有
getfacl
和setfacl
命令。MacOS 就像 Solaris 和 Illumos。MacOS 僅支持 NFS4 樣式的訪問控制,ACL 條目分為 17 個單獨的權限標誌。
Apple 將 ACL 功能整合到現有命令中。使用
-e
選項ls
來查看 ACL。使用
-a
//+a
和=a
相關選項chmod
來設置它們。
ls
. BSD 通用命令手冊。2002-05-19。蘋果公司。在 AIX 上
AIX上沒有
getfacl
和setfacl
命令。IBM 使用自己的命令名稱。AIX 支持 POSIX 樣式(IBM 將其命名為“AIXC”)和 NFS4 樣式 ACL。
使用該
aclget
命令獲取 ACL。使用aclset
命令來設置它們。使用acledit
命令使用文本編輯器編輯它們。使用該aclconvert
命令將 POSIX 樣式轉換為 NFS4 樣式。
- “訪問控制列表管理”。 IBM AIX V7.1 文件。IBM。
在 Illumos 和 Solaris 上
Illumos 和 Solaris 上沒有
getfacl
和setfacl
命令。Solaris 和 Illumos 就像 MacOS。Illumos 和 Solaris 支持 POSIX 樣式和 NFS4 樣式的 ACL。
Sun 將 ACL 功能整合到現有命令中。使用
-v
或-V
選項ls
查看 ACL。在命令中使用A
符號模式的前綴chmod
來設置它們。
ls
. 使用者命令。2014 年 11 月 24 日。伊魯莫斯項目。chmod
. 使用者命令。2014 年 11 月 24 日。伊魯莫斯項目。ls
. Oracle Solaris 11 資訊庫。2011. 甲骨文。在 Cygwin 上
getfacl
在湯姆黑爾的回答中使用。設置 ACL 使用setfacl
.Windows NT 本身有一個大致是 NFS4 風格的 ACL 方案,帶有一組
drctpoxfew
標準和特定的權限標誌,儘管有一組更大的安全主體和一個通用權限機制,將 POSIX 風格的三個標誌集映射到其標準和特定權限權限系統。Cygwin 將其描述為類似 Solaris 的 ACL API、來自 Microsoft 用於 Windows NT 的第二個 POSIX 子系統(née Interix)的 ID 映射機制以及一組僅辨識 POSIX 樣式權限的類似 Linux 的命令行工具的古怪混合物.
getfacl
. Cygwin 實用程序。天鵝座。