/proc/mounts 中顯示的掛載選項
IIRC 然後顯示的安裝選項
/proc/mounts
已更改。前段時間acl
和顯示,user_xattr
現在似乎只有在這些功能關閉時才會顯示 。noacl``nouser_xattr
這是在哪裡配置的?這是否取決於文件系統程式碼的編譯預設值?如何檢查卷是否支持例如 ACL?有沒有比用
setfacl
,測試更好的解決方案getfacl
?
Upstream 決定啟用
acl
並user_xattr
在預設情況下將它們作為掛載選項刪除(noacl
/nouser_xattr
仍然是有效mount
選項,因此會顯示它們)。
一些文件系統類型支持沒有掛載選項的 ACL,其他文件系統類型只支持掛載選項。對於 ext2/ext3/ext4,包括 acl/noacl 在內的一些預設掛載選項儲存在文件系統中(您可以在 參考資料中看到這一點
tune2fs -l /dev/BLOCK_DEVICE | grep '^Default mount options:'
)。正如don_crissti所指出的,對於 ext4,是否顯示該選項取決於核心版本(從核心 2.6.39 開始,acl
無論文件系統說什麼,都預設打開)。vfat 和 minix 等文件系統不支持 ACL。tmpfs、xfs 和 zfs 等文件系統始終支持 ACL。除非您想建構和維護一個包含文件系統類型、版本、檢查預設值的命令和核心版本的大表,否則無法通過掛載選項或文件系統特性來確定文件系統是否支持 ACL。您無法通過純粹的觀察來判斷,
getfacl
因為它總是至少會報告 unix 權限。即使文件系統支持 ACL,它也可能不支持您想要的 ACL 類型。所以最好的辦法是呼叫setfacl
(或底層 C API)來嘗試設置你想要的 ACL。如果錯誤狀態為 EOPNOTSUPP(不支持操作),您將知道文件系統不支持(這種類型的)ACL。