getfacl -
ファイルのアクセス制御リスト
(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
は標準入力からファイルのリストを読み込む。
環境変数 POSIXLY_CORRECT
が定義されている場合、
getfacl
のデフォルトの動作は、以下のように変わる。
特に指定されていなければ、ACL
のみが表示される。
-d
オプションが指定された場合、デフォルト
ACL のみが表示される。
コマンドライン引き数が指定されない場合、
getfacl は “getfacl -”
として起動されたときと同様に動作する。
setuid, setgid, sticky
ビットを示すフラグコメントは表示されない。
Andreas Gruenbacher, <
[email protected]>.
バグ報告と意見は上記のアドレスに送ってほしい。
setfacl(1),
acl(5)