ホーム > ファイル・ディレクトリ管理 > getfacl

getfacl: ファイルアクセス制御リスト(ACL)の確認

getfaclコマンドは、ファイルやディレクトリに設定されたアクセス制御リスト(ACL: Access Control List)を確認するために使用されます。従来のUnix権限(rwx)よりも詳細な権限設定を可能にし、特定のユーザーやグループに対する個別のアクセス権限を管理する際に役立ちます。

概要

ACLは、ファイルシステムオブジェクトに対する権限を、ユーザー、グループ、またはその他の識別子に応じて細かく制御できる機能です。getfaclは、これらのACL設定を読み込み、現在適用されている権限ルールを表示します。

主な特徴

  • 従来のrwx権限を超える詳細な権限設定の確認
  • 特定のユーザーまたはグループに対する個別の権限確認
  • ディレクトリのデフォルトACL確認機能を提供
  • 再帰的にサブファイルおよびディレクトリのACLを確認

主なオプション

getfaclコマンドは、ACL情報を照会する際に、様々なオプションを通じて出力形式を制御したり、特定の種類のACLのみを照会したりできます。

照会と出力

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`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はすべてのファイルシステムでサポートされているわけではありません。ext2/3/4、XFSなど、ほとんどの最新LinuxファイルシステムはACLをサポートしていますが、ファイルシステムがACLをマウントオプションで有効にする必要がある場合もあります (例: mount -o acl)。


同じカテゴリのコマンド