概述
ACL 是一項功能,可讓您根據使用者、群組或其他識別碼,精細控制檔案系統物件的權限。getfacl 會讀取這些 ACL 設定,並顯示目前套用的權限規則。
主要特點
- 檢查超越傳統 rwx 權限的精細權限設定
- 檢查特定使用者或群組的個別權限
- 提供檢查目錄預設 (default) ACL 的功能
- 遞迴檢查子檔案和目錄的 ACL
主要選項
getfacl 命令透過各種選項來控制 ACL 資訊的輸出格式,或僅查詢特定類型的 ACL。
查詢與輸出
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`getfacl` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
展示使用 getfacl 命令檢查檔案和目錄 ACL 的各種方法。
檢查特定檔案的 ACL
getfacl sample.txt
檢查 sample.txt 檔案目前的 ACL 設定。
檢查目錄的預設 ACL
getfacl -d my_directory
檢查 my_directory 目錄上設定的預設 ACL。此 ACL 將套用到在此目錄中新建立的檔案/目錄。
遞迴檢查目錄及其子項的 ACL
getfacl -R data_dir
遞迴檢查 data_dir 目錄及其內部所有檔案和子目錄的 ACL。
僅輸出 ACL 資訊,省略標頭
getfacl --omit-header report.log
以簡潔的方式輸出 report.log 檔案的 ACL 資訊,不包含標頭。這在腳本解析時很有用。
安裝
getfacl 命令通常是 'acl' 套件的一部分。大多數 Linux 發行版都預設安裝了它,但在最小安裝環境中可能需要手動安裝。
Debian/Ubuntu
sudo apt update && sudo apt install acl
使用 apt 套件管理器安裝 'acl' 套件。
RHEL/CentOS/Fedora
sudo dnf install acl
# 或
sudo yum install acl
使用 yum 或 dnf 套件管理器安裝 'acl' 套件。
提示與注意事項
有關有效使用和管理 ACL 的提示和注意事項。
檢查 ACL 是否已套用
如果檔案或目錄已套用 ACL,則執行 'ls -l' 命令時,權限字串結尾會加上 '+' 符號。(例如:-rw-rw-r--+)
- ls -l 輸出: 檢查權限字串結尾的 '+'
ACL 與傳統權限的關係
ACL 與傳統的 rwx 權限協同工作。一旦設定了 ACL,傳統權限就會充當 '遮罩' (mask) 的角色,限制 ACL 中設定的最大有效權限。'mask' 項目可以在 getfacl 的輸出中找到。
與 setfacl 的整合
若要設定或修改 ACL,您必須使用 'setfacl' 命令。一般的流程是先使用 getfacl 檢查目前的設定,然後再使用 setfacl 進行變更。
檔案系統支援
並非所有檔案系統都支援 ACL。大多數現代 Linux 檔案系統,如 ext2/3/4、XFS 等,都支援 ACL,但檔案系統可能需要透過掛載選項啟用 ACL (例如:mount -o acl)。