概要
ファイルやディレクトリに設定されたACLを表示します。個別ユーザーや個別グループへの追加権限を読み解けます。
基本構文
getfacl [オプション]... ファイル...詳細解説
getfaclは、ファイルやディレクトリに設定されたアクセス制御リスト(ACL)を表示するコマンドです。通常の所有者、グループ、その他の三者だけでは表しきれない、個別ユーザーや個別グループへの追加権限を確認できます。
実務では、なぜこのユーザーだけ読めるのか、なぜls -lの見た目と実効権限が違うのか、といった権限トラブルの調査で極めて役立ちます。
mask行やdefault行の意味まで読めるようになると、共有ディレクトリ運用の理解が深まります。
このコマンドを使う場面
権限トラブルの原因調査、共有ディレクトリの設定確認、ls -lだけでは説明できないアクセス可否の確認に使います。
まず安全に試す方法
1. touch sample.txt
2. getfacl sample.txt
3. mkdir shared
4. getfacl shared
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
ACL未設定のファイルへgetfaclを実行し、user、group、other行を読み解きます。
-
共有ディレクトリに対してgetfacl -dを実行します。
資格試験との関連
-
LinuC レベル2
範囲: 2.11.1 Sambaの設定と管理根拠: officialLinuCレベル2では、Sambaや共有設定の文脈でアクセス制御リストの理解が求められ、getfaclやsetfaclが重要な補助コマンドになります。
-
LPIC-2
範囲: 共有環境の権限制御根拠: editorialLPIC-2では、共有や権限制御の理解を深める補助知識としてACL操作の理解が役立ちます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、getfaclはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
getfacl sample.txt# file: sample.txt # owner: user # group: user user::rw- group::r-- other::r-- -
getfacl shared... default:user::rwx...
戻り値コード
- 0 正常終了。ACL情報を表示しました。
- >0 対象不存在、権限不足、ACL非対応などで表示できませんでした。
使用例
getfacl file.txtgetfacl -R sharedgetfacl -d projectdir
よくあるエラー
-
ls -lでは問題なさそうなのにアクセスできない 原因: ACLのmaskや追加エントリーが実効権限に影響しています。対処: getfaclで詳細を確認します。
-
getfaclが見つからない 原因: 追加パッケージに含まれ、最小構成では未導入のことがあります。対処: aclパッケージの有無と対象環境のACL対応状況を確認します。
導入・互換性情報
POSIX必須ではなく、ACL対応環境と追加パッケージに依存することがあります。Linuxではaclパッケージに含まれることが多いです。
注意点 / セキュリティリスク
危険度は低いですが、出力の読み方を誤ると誤診断につながります。特にmaskはグループ系エントリーの実効権限上限を示します。
FAQ
-
Q. chmodだけ見れば十分ではないですか。 A. ACLが使われている環境では十分ではありません。個別ユーザーやグループへの追加権限はgetfaclで確認します。
-
Q. default ACLとは何ですか。 A. ディレクトリ配下の新規作成物へ引き継がれる既定のACLです。
関連用語
参照リンク
- カテゴリー: Permissions And Ownership
- レベル: Practical
- 対応試験: LinuC, LinuC レベル2, LPIC, LPIC-2, 共通基礎