Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       setfacl - ファイルのアクセス制御リスト (access control list) を設定する

書式

       setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

       setfacl --restore=file

説明

       このユーティリティはファイルとディレクトリの アクセス制御リスト (Access Control List, ACL)
       を設定する。 コマンドラインでは、一連のコマンドの後にファイル群を指定する  (さらに別の一連
       のコマンド、ファイル群、... を続けて指定することができる)。

       オプション  -m-x は ACL がコマンドラインで指定されることを想定している。 複数の ACL エ
       ントリはコンマ文字 (`,') で区切られる。 オプション -M-X は ACL  をファイルまたは標準入
       力から読み込む。 ACL エントリの書式は、「ACL エントリ」のセクションで説明されている。

       --set--set-file オプションはファイルとディレクトリの ACL を設定する。 以前の ACL は置
       き換えられる。 この操作で指定される ACL エントリは、 許可 (permission)  を含まなければなら
       ない。

       -m  (--modify)-M (--modify-file) オプションはファイルとディレクトリの ACL を変更する。
       この操作で指定される ACL エントリは、許可を含まなければならない。

       -x (--remove)-X (--remove-file) オプションは ACL  エントリを削除する。存在しないエント
       リの削除を行ってもエラーにはならない。  POSIXLY_CORRECT  が定義されていない場合は、  perms
       フィールドを持たない ACL エントリだけが引き数として指定できる。

       -M-X オプションで (ACL を) ファイルから読み込む場合、 setfacl は getfacl  が生成した出
       力を受け付ける。  1 行には最大で 1 つの ACL エントリがある。 シャープ記号 (`#') の後から行
       末まではコメントとして扱われる。

       ACL をサポートしないファイルシステム上で setfacl を使用した場合、 setfacl はファイルモード
       許可ビットを操作する。 ACL が許可ビットと完全には合わない場合、 setfacl はファイルモード許
       可ビットを ACL に可能な限り近づけるように変更し、 標準エラー出力にエラーメッセージを書き出
       して、0 より大きい終了状態で返る。

   許可
       ケーパビリティ  (capability)  CAP_FOWNER を持つファイル所有者とプロセスは、 ファイルの ACL
       を変更する権限が付与されている。  これはファイルモードにアクセスするのに必要な許可と類似し
       ている  (現在の  Linux システムでは、CAP_FOWNER ケーパビリティを持つユーザは root のみであ
       る)。

オプション

       -b, --remove-all
           全ての拡張 ACL エントリを削除する。 所有者・グループ・その他という基本 (base) ACL エン
           トリは保存される。

       -k, --remove-default
           デフォルト ACL を削除する。 デフォルト ACL が存在しない場合、警告は出されない。

       -n, --no-mask
           実効権 (effective right) マスクを再計算しない。 setfacl のデフォルト動作では、ACL マス
           クエントリが明示的に指定されない限り、 ACL マスクエントリを再計算する。 マスクエントリ
           は所有グループ・指名ユーザ (named user)・指名グループの エントリの全ての許可を結合した
           ものに設定される (マスクエントリに影響を受けるエントリは、正にこれらである)。

       --mask
           ACL マスクエントリが明示的に指定されている場合でも、実効権マスクを再計算する (-n  オプ
           ションを参照)。

       -d, --default
           全ての操作をデフォルト  ACL  に適用する。 入力セットに含まれる通常の ACL エントリを デ
           フォルト ACL エントリに昇格させる。 入力セットに含まれるデフォルト ACL  エントリは破棄
           される (これが起こった場合は警告を出す)。

       --restore=file
           `getfacl  -R' またはそれと同様なもので作成された 許可のバックアップで復旧する。 ディレ
           クトリサブツリーの全ての許可が、この方法で復旧される。    入力に所有者コメントまたはグ
           ループコメントが含まれている場合、  setfacl はファイルの所有者と所有グループを復旧しよ
           うとする。入力に (setuid, setgid, sticky ビットを定義する)  フラグコメントが含まれてい
           る場合、入力に従ってこれらのビットを設定する。指定されなかった場合はこれらのビットをク
           リアする。この操作は `--test' 以外のオプションと併用できない。

       --test
           テストモード。 ファイルの ACL を変更する代わりに、結果の ACL の一覧を表示する。

       -R, --recursive
           全てのファイルとディレクトリに対して再帰的に操作を適用する。          このオプションは
           `--restore' と併用できない。

       -L, --logical
           論理的に辿り、ディレクトリへのシンボリックリンクを辿る。  デフォルトの動作では、シンボ
           リックリンク引き数を辿り、  サブディレクトリで見つかったシンボリックリンクはスキップす
           る。 -R と一緒に使用した場合にのみ効果を持つ。 このオプションは `--restore' と併用でき
           ない。

       -P, --physical
           物理的に辿り、ディレクトリへのシンボリックリンクをスキップする。  シンボリックリンク引
           き数もスキップする。     -R     と一緒に使用した場合にのみ効果を持つ。このオプションは
           `--restore' と併用できない。

       -v, --version
           setfacl のバージョンを表示し、終了する。

       -h, --help
           コマンドラインオプションを説明するヘルプを表示する。

       --  コマンドラインオプションの終わり。  残りの引き数は、たとえダッシュ文字で始まっていたと
           しても、 ファイル名として解釈される。

       -   ファイル名引き数が 1 つのダッシュ文字である場合、 setfacl は標準入力からファイルのリス
           トを読み込む。

   ACL エントリ
       setfacl ユーティリティは以下の ACL エントリ書式を認識する  (分かりやすいように空白を挿入し
       てある):

       [d[efault]:] [u[ser]:]uid [:perms]
              指名ユーザの許可。 uid が空の場合は、ファイル所有者の許可。

       [d[efault]:] g[roup]:gid [:perms]
              指名グループの許可。 gid が空の場合は、所有者グループの許可。

       [d[efault]:] m[ask][:] [:perms]
              実効権マスク。

       [d[efault]:] o[ther][:] [:perms]
              その他の許可。

       区切り文字と区切り文字以外の間の空白は無視される。

       許可を含む正式な  ACL  エントリは、修正と設定の操作 (オプション -m, -M, --set, --set-file)
       で使用される。 perms フィールドのないエントリは、エントリの削除 (オプション -x-X)   で
       使用される。

       uidgid には名前と数値のどちらも指定できる。

       perms  フィールド許可を表す文字の組み合わせである。  読み込み  (r), 書き込み (w), 実行 (x)
       は、ファイルがディレクトリであるか何れかのユーザの実行許可 (X)  が既にある場合にのみ実行さ
       れる。 文字の組合わせの代わりに、 perms フィールドを 8 進数 (0-7) にすることもできる。

   自動的に作成されるエントリ
       初期状態では、ファイルとディレクトリは所有者・グループ・その他という 3 つの基本 ACL エント
       リを持つ。 ACL が有効であるためには満たさなければならない、いくつかのルールがある。

       *   3 つの基本エントリは削除できない。 これらの基本エントリ型のそれぞれに対して、  必ず  1
           つのエントリがなければならない。

       *   ACL  が指名ユーザエントリまたは指名グループオブジェクトを持つ場合、 実効権マスクも持た
           なければならない。

       *   ACL がデフォルト ACL エントリを持つ場合、 3 つのデフォルト ACL 基本エントリ  (デフォル
           ト所有者・ デフォルトグループ・デフォルトのその他) が存在しなければならない。

       *   デフォルト ACL が指名ユーザエントリまたは指名グループオブジェクトを持つ場合、 デフォル
           ト実効権マスクも持たなければならない。

       ユーザがこれらのルールを確実に守るための助けとして、 setfacl  は以下の条件で既存のエントリ
       からエントリを作成する:

       *   ACL  が指名ユーザまたは指名グループのエントリを持ち、 かつマスクエントリが存在しない場
           合、 グループエントリと同じ許可を持つマスクエントリが作成される。 -n  オプションが指定
           されない限り、マスクエントリの許可は、  そのマスクエントリの影響を受ける全ての許可を合
           わせたもの含めるように、 更に調整される (-n オプションの説明を参照すること)。

       *   デフォルト ACL エントリが作成され、 かつデフォルト ACL  が所有者・所有グループ・その他
           のエントリを持たない場合、 ACL 所有者・所有グループ・その他のエントリのコピーが デフォ
           ルト ACL に追加される。

       *   デフォルト ACL が指名ユーザまたは指名グループのエントリを持ち、 かつマスクエントリが存
           在する場合、 デフォルト ACL のグループエントリと同じ許可を持つマスクエントリが追加され
           る。 -n オプションが指定されない限り、マスクエントリの許可は、  そのマスクエントリの影
           響を受ける全ての許可を合わせたもの含めるように、 更に調整される (-n オプションの説明を
           参照すること)。

       追加のユーザの読み込みアクセスを許可する。
              setfacl -m u:lisa:r file

       全てのグループと全ての指名ユーザの書き込みアクセスを (実効権マスクを使って) 取り消す。
              setfacl -m m::rx file

       ファイルの ACL から指名グループエントリを削除する。
              setfacl -x g:staff file

       あるファイルの ACL を他にコピーする。
              getfacl file1 | setfacl --set-file=- file2

       アクセス ACL をデフォルト ACL にコピーする。
              getfacl --access dir | setfacl -d -M- dir

POSIX 1003.1e DRAFT STANDARD 17 への準拠

       環境変数 POSIXLY_CORRECT が定義されている場合、 getfacl のデフォルトの動作は、以下のように
       変わる。  標準に準拠しない全てのオプションは無効にされる。 “default:” プレフィックスは無効
       にされる。 -x-X オプションは許可フィールドを受け付ける (しかし、無視する)。

著者

       Andreas Gruenbacher, <a.gruenbacher@bestbits.at>.

       バグ報告・提案したい機能・意見は上記のアドレスに送ってほしい。

関連項目

       getfacl(1), chmod(1), umask(1), acl(5)