getfacl(1) ファイルのアクセス制御リスト (access control list) を取得する

書式

getfacl [-aceEsRLPtpndvh] file ...

getfacl [-aceEsRLPtpndvh] -

説明

各ファイルについて、getfacl はファイル名・所有者・グループ・ アクセス制御リスト (ACL) を表示する。 ディレクトリがデフォルト ACL を持つ場合、 getfacl はデフォルト ACL も表示する。 ディレクトリ以外はデフォルト ACL を持つことができない。

ACL をサポートしていないファイルシステム上で getfacl を使うと、 getfacl は伝統的なファイルモード許可ビットで定義される アクセス許可を表示する。

getfacl の出力形式は以下のようなものである:

 1:  # file: somedir/
 2:  # owner: lisa
 3:  # group: staff
 4:  # flags: -s-
 5:  user::rwx
 6:  user:joe:rwx               #effective:r-x
 7:  group::rwx                 #effective:r-x
 8:  group:cool:r-x
 9:  mask::r-x
10:  other::r-x
11:  default:user::rwx
12:  default:user:joe:rwx       #effective:r-x
13:  default:group::r-x
14:  default:mask::r-x
15:  default:other::---

1-3 行目は、ファイル名、所有者、グループを示している。

4 行目は setuid ビット (s)、setgid ビット (s)、スティッキービット (t) を示している。ビットに対応する文字か、ダッシュ (-) のどちらかが表示される。この行は、これらのビットのうちセットされているものがある場合に表示される。そのため、ほとんどのファイルでは表示されないだろう。(下記の「POSIX 1003.1e DRAFT STANDARD 17 への準拠」の節を参照。)

5, 7, 10 行目はファイルモード許可ビットの ユーザ・グループ・その他のフィールドに対応する。 これら 3 つは基本 (base) ACL エントリと呼ばれる。 6, 8 行目は指名ユーザ (named user) と指名グループ (named group) である。 9 行目は実効権 (effective right) マスクである。 このエントリは全てのグループと 指名ユーザに許可されている実効権を制限する。 (ファイル所有者とその他の許可は、実効権マスクに影響を受けない。 その他全てのエントリは影響を受ける。) 11-15 行目はディレクトリに関連づけられているデフォルトの ACL を表示する。 ディレクトリはデフォルト ACL を持つことができる。 通常のファイルはデフォルト ACL を持つことはない。

getfacl のデフォルト動作では、ACL とデフォルト ACL の両方を表示し、 エントリの権利が実効権と異なるときは、実効権をコメントにして表示する。

出力が端末である場合、実効権のコメントは 40 桁目に配置される。 端末でない場合は、1 つのタブで ACL エントリと実効権のコメントを区切る。

複数のファイルの ACL を表示する場合は、空行で区切る。 getfacl の出力は setfacl の入力に使うこともできる。

許可

ファイルの検索アクセス権を持つプロセス (つまり、ファイルを保持するディレクトリの 読み込みアクセス権を持つプロセス) は、 ファイルの ACL の読み込みアクセスも許可される。 これはファイルモードへアクセスする許可と類似している。

オプション

-a, --access
ファイルアクセス制御リストを表示する。
-d, --default
デフォルトアクセス制御リストを表示する。
-c, --omit-header
コメントヘッダ (各ファイルの出力の最初の 3 行) を表示しない。
-e, --all-effective
実効権が ACL エントリで定義される権利と同じであっても、 全ての実効権のコメントを表示する。
-E, --no-effective
実効権のコメントを表示しない。
-s, --skip-base
基本 ACL エントリ (所有者・グループ・その他) しか持たない ファイルをスキップする。
-R, --recursive
全てのファイルとディレクトリの ACL を再帰的に一覧表示する。
-L, --logical
論理的に辿り、ディレクトリへのシンボリックリンクを辿る。デフォルトの動作では、シンボリックリンク引き数を辿り、サブディレクトリで見つかったシンボリックリンクはスキップする。 -R と一緒に使用した場合にのみ効果を持つ。
-P, --physical
物理的に辿り、ディレクトリへのシンボリックリンクをスキップする。 シンボリックリンク引き数もスキップする。 -R と一緒に使用した場合にのみ効果を持つ。
-t, --tabular
別の表出力形式を使う。 ACL とデフォルト ACL が一緒に表示される。 ACL マスクエントリにより無効になっている許可は、大文字で表示される。 ACL_USER_OBJ と ACL_GROUP_OBJ エントリのエントリタグ名も大文字で表示され、 これらのエントリを見つけるのに役立つ。
-p, --absolute-names
先頭のスラッシュ文字 (`/') を取り除かない。 デフォルトの動作では、先頭のスラッシュ文字が取り除かれる。
-n, --numeric
ユーザ ID とグループ ID を数字で表示する。
-v, --version
getfacl のバージョンを表示して、終了する。
-h, --help
コマンドラインオプションを説明するヘルプを表示する。
--
コマンドラインオプションの終わり。 残りの引き数は、たとえダッシュ文字で始まっていたとしても、 ファイル名として解釈される。
-
ファイル名引き数が 1 つのダッシュ文字である場合、 getfacl は標準入力からファイルのリストを読み込む。

POSIX 1003.1e DRAFT STANDARD 17 への準拠

環境変数 POSIXLY_CORRECT が定義されている場合、 getfacl のデフォルトの動作は、以下のように変わる。 特に指定されていなければ、ACL のみが表示される。 -d オプションが指定された場合、デフォルト ACL のみが表示される。 コマンドライン引き数が指定されない場合、 getfacl は ``getfacl -'' として起動されたときと同様に動作する。 setuid, setgid, sticky ビットを示すフラグコメントは表示されない。

著者

Andreas Gruenbacher, <[email protected]>.

バグ報告と意見は上記のアドレスに送ってほしい。