首頁 > 檔案與目錄管理 > getfacl

getfacl: 檔案存取控制清單 (ACL) 檢查

getfacl 命令用於檢查檔案和目錄上設定的存取控制清單 (ACL: Access Control List)。它允許比傳統 Unix 權限 (rwx) 更精細的權限設定,並且在管理特定使用者或群組的個別存取權限時非常有用。

概述

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)。


相同類別命令