日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SETFACL(1) FreeBSD 一般コマンドマニュアル SETFACL(1) 名称 setfacl -- ACL 情報を設定する 書式 setfacl [-R [-H | -L | -P]] [-bdhkn] [-a position entries] [-m entries] [-M file] [-x entries | position] [-X file] [file ...] 解説 setfacl ユーティリティは、指定された (複数の) ファイルの任意に決定できる アクセス制御情報を設定します。ファイルが指定されないか、またはリストが `-' のみから成るなら、ファイル名は、標準入力から取られます。 次のオプションが使用可能です: -a position entries 0 から数えて位置 position で始まる entries で指定された新しい ACL エントリを挿入することによって指定されたファイルで ACL を変更しま す。このオプションは、NFSv4 ACL だけに適用できます。 -b ファイルモードから統合されたものを除いて、すべての ACL エントリを 削除します - POSIX.1e ACL の場合に 3 つの義務的なエントリ。 POSIX.1e ACL が ``mask'' エントリを含んでいるなら、結果の ACL 中 の ``group'' エントリのパーミッションは、現在の ACL の ``group'' と ``mask'' エントリの両方に関連しているパーミッションに設定され ます。 -d ACL エントリにアクセスする代りにデフォルトの ACL に適用される操 作。現在、ディレクトリだけに、デフォルト ACL があります。このオプ ションは、NFSv4 ACL に適用できません。 -h 操作のターゲットがシンボリックリンクであるなら、リンクをたどるの ではなく、シンボリックリンク自体で操作を実行します。 -H -R オプションが指定されるなら、コマンド行のシンボリックリンクが、 たどれら、そのため、コマンドに影響を受けません。(ツリーの横断の間 に遭遇するシンボリックリンクは、たどりません。) -k 指定されたファイルのあらゆるデフォルトの ACL エントリを削除しま す。指定されたファイルに、あらゆるデフォルトの ACL エントリがない なら、エラーと見なされません。指定されたファイルのいずれもデフォ ルトのエントリ (すなわち、ディレクトリでない) を持つことができな いなら、エラーが報告されます。このオプションは、NFSv4 ACL に適用 可能ではありません。 -L -R オプションが指定されるなら、すべてのシンボリックリンクは、たど られません。 -m entries 指定されたファイルの ACL を修正します。新しいエントリが追加され、 既存のエントリは、entries 引数によって修正されます。NFSv4 ACL に ついて、-a と -x オプションを代わりに使用することを推奨します。 -M file ファイル file で指定された ACL エントリで、新しい ACL エントリを 追加し、既存の ACL エントリを修正することによって指定されたファイ ルで ACL エントリを修正します。file が - であるなら、入力は、 stdin (標準入力) から取られます。 -n ACL マスクエントリに関連しているパーミッションを再計算しません。 このオプションは、NFSv4 ACL に適用できません。 -P -R オプションが指定されるなら、シンボリックリンクは、たどられませ ん。これは、デフォルトです。 -R あらゆる指定されたディレクトリでアクションを再帰的に実行します。 NFSv4 ACL エントリをを修正するか、または追加するとき、継承フラグ は、ディレクトリにだけ適用されます。 -x entries | position entries が指定されるなら、アクセスから指定された ACL エントリまた は指定されたファイルのデフォルトの ACL を削除します。そうでなけれ ば、0 から数えて、インデックス position のエントリを削除します。 -X file 指定されたファイルのアクセスまたはデフォルトの ACL からファイル file で指定された ACL エントリを削除します。 上記のオプションは、コマンド行で指定された順序で評価されます。 POSIX.1e ACL エントリ ひとつの POSIX.1E ACL エントリには、コロンで区切られた次の 3 つのフィール ドがあります: ACL タグ、ACL 修飾子、と自由裁量のアクセスパーミッション: ACL tag ACL タグは、ACL エントリのタイプを指定し、次の 1 つから成ります: ``user'' または `u' は、ファイルまたは指定されたユーザの所有者に 与えられたアクセスを指定します。``group'' または `g' は、ファイル 所有のグループまたは指定されたグループに与えられたアクセスを指定 します。``other'' または `o' は、あらゆるユーザまたはグループの ACL エントリと一致しないあらゆるプロセスに与えられたアクセスを指 定します。``mask'' または `m' は、ファイル所有者と ``other'' の ACL エントリのための ``user'' ACL エントリを除いて、あらゆる ACL エントリに与えられた最大のアクセスを指定します。 ACL qualifier ACL 修飾子のフィールドは、ACL エントリと関連するユーザまたはグ ループを記述します。それは、次の 1 つから成ります: uid またはユー ザ名、gid またはグループ名、または空。``user'' ACL エントリに対し て、空のフィールドは、ファイルの所有者に与えられるアクセスを指定 します。``group'' ACL エントリに対して、空のフィールドは、ファイ ルの所有グループに与えられるアクセスを指定します。``mask'' と ``other'' ACL エントリは、このフィールドを使用します。 access permissions アクセスパーミッションのフィールドは、次のそれぞれの最大 1 つを含 んでいます: `r', `w' と `x' は、それぞれ、読み込み、書き込み、と 実行パーミッションを設定します。これらのそれぞれは、アクセスを示 さない `-' 文字を取り除くか、置き換えられます。 ``mask'' ACL エントリは、デフォルトの ``user'', ``group'' と ``other'' ACL エントリ以外のあらゆる ACL エントリがあるファイルで必要とされます。-n オプションが指定されず、``mask'' ACL エントリが指定されなかったなら、 setfacl ユーティリティは、結果の ACL のすべての ``group'' ACL エントリと 関連したパーミッションの和集合から成る ``mask'' ACL エントリを適用しま す。 ファイルシステムのオブジェクトモードで作用している伝統的な POSIX インタ フェースは、POSIX.1e 拡張 ACL の存在することでセマンティクスを修正しま す。マスクエントリがオブジェクトのアクセス ACL に存在するとき、マスクエン トリは、グループビットと置き換えられます。これは、stat(1) または ls(1) の ようなプログラムに現れます。モードがマスクエントリがあるオブジェクトで修 正されるとき、グループビットに適用された変更は、実際に、マスクエントリに 適用されます。これらのセマンティクスは、より大きなアプリケーションの互換 性を提供します: ACL の代わりにモードを修正するアプリケーションは、追加の ユーザとグループエントリのすべてによって与えられた実効的な権利を制限し て、保守的な振る舞いを見ます。これは、chmod(1) のようなプログラムに現れま す。 -M または -X オプションを使用してるファイルから適用される ACL エントリ は、次に形式となります: 以前に指定されたような、1 行ごとに 1 つの ACL エ ントリ。空白類は、無視されます。`#' の後のあらゆるテキストは、無視されま す (コメント)。 POSIX.1e ACL エントリが評価されるとき、アクセスチェックアルゴリズムは、次 の順序で ACL エントリをチェックします: ファイルの所有者、``user'' ACL エ ントリ、ファイルの所有グループ、``group'' ACL エントリ、と ``other'' ACL エントリ。 コマンド行で指定される複数の ACL エントリは、コンマによって区切られます。 ファイルとディレクトリが、それらの親ディレクトリから ACL エントリを引き継 ぐことは、可能です。これは、デフォルトの ACL の使用で達成されます。利用者 がデフォルトの ACL を指定できる前に、ユーザ、グループ、その他とマスクのた めの強制的な ACL エントリが設定されなければならないことに注意するべきで す。より詳しい情報については、下記の例を参照してください。-d を使用するこ とによって、デフォルトの ACL を作成することができます。 NFSv4 ACL エントリ NFSv4 ACL エントリは、4 または 5 つのコロンで区切られたフィールドを含んで います: ACL タグ、ACL 修飾子 (``user'' と ``group'' タグのためのみ)、任意 のアクセスパーミッション、ACL 継承フラグと ACL タイプ: ACL tag ACL タグは、ACL エントリタイプを指定して、次の 1 つから成ります: ``user'' または `u' は、指定されたユーザへの承認されたアクセスを 指定します。``group'' または `g' は、指定されたグループへの承認さ れたアクセスを示します。``owner@'' は、ファイルの所有者への承認さ れたアクセスを示します。``group@'' は、ファイルを所有しているグ ループへのの承認されたアクセスを示します。``everyone@'' は、すべ ての人を示します。``everyone@'' は、伝統的な Unix の ``other'' (ファイル所有者と所有するグループを含むまさにすべての人を意味しま す) と同じでないことに注意してください。 ACL qualifier ACL 修飾子フィールドは、ACL エントリに関連しているユーザまたはグ ループを説明しています。それは、次の 1 つから成ります: uid または ユーザ名、または gid またはグループ名。タグタイプが ``owner@'', ``group@'' または ``everyone@'' の 1 つである、エントリにおいて、 このフィールドは、後続するコンマを含んで、すべて除外されます。 access permissions アクセスパーミッションは、短い形式または長い形式で指定されます。 短い形式と長い形式は、混合されません。長い形式のパーミッション は、`/' 文字によって区切られます。短い形式では、それらは、一緒に 連結されます。有効なパーミッションは、次の通りです: 短い形式 長い形式 r read_data w write_data x execute p append_data D delete_child d delete a read_attributes A write_attributes R read_xattr W write_xattr c read_acl C write_acl o write_owner s synchronize さらに、次のパーミッションのセットが使用されます: Set パーミッション full_set 上記に示されている、すべてのパーミッション modify_set write_acl と write_owner を除く、すべてのパーミッショ ン read_set read_data、read_attributes、read_xattr と read_acl write_set write_data、append_data、write_attributes と write_xattr ACL inheritance flags 継承フラグは、短い形式または長い形式で指定されます。短い形式と長 い形式は、混合されません。長い形式のアクセスフラグは、`/' 文字に よって区切られます。短い形式では、それらは、一緒に連結されます。 有効な継承フラグは、次の通りです: 短い形式 長い形式 f file_inherit d dir_inherit i inherit_only n no_propagate I inherited "継承された" フラグを除いて、継承フラグは、ディレクトリでのみ設定 されます。 ACL type ACL タイプフィールドは、``allow'' または ``deny'' のいずれかで す。 -M または -X オプションを使用してファイルから適用された ACL エントリは、 次の形式となるでしょう: 以前に指定されているように、1 行に 1 つの ACL エ ントリです。空白類は、無視されます。`#' の後のすべてのテキストは、無視さ れます (コメント)。 NFSv4 ACL エントリは、それらの目に見える順序で評価されます。 コマンドラインで指定された複数の ACL エントリは、コンマによって区切られま す。 ファイル所有者は、たとえ ACL が拒否しても、常に read_acl、write_acl、 read_attributes と write_attributes パーミッションを付与されることに注意 してください。 終了ステータス ユーティリティ setfacl は、成功すると 0 で、エラーがあった場合は >0 で終 了します。 使用例 setfacl -d -m u::rwx,g::rx,o::rx,mask::rwx dir setfacl -d -m g:admins:rwx dir 最初のコマンドは、デフォルトの POSIX.1e ACL の強制的な要素を設定します。2 番目のコマンドは、グループ admins のユーザが、"dir" とい名前のディレクト リのために読み込み、書き込みと実行パーミッションを持つことができることを 指定します。"dir" の下で作成された任意のファイルまたはディレクトリは、作 成時に、これらのデフォルトの ACL を引き継ぐことに注意するべきです。 setfacl -m u::rwx,g:mail:rw file file の所有者の POSIX.1e ACL エントリのための読み込み、書き込み、実行の パーミッションと file のグループメールのための読み込み、書き込みパーミッ ションを設定します。 setfacl -m owner@:rwxp::allow,g:mail:rwp::allow file NFSv4 ACL を除いて、上記の例と意味的に同じです。 setfacl -M file1 file2 file2 の file1 に含まれる ACL エントリを設定します/更新します。 setfacl -x g:mail:rw file file から読み込み/書き込みパーミッションを含んでいるグループメール POSIX.1e ACL エントリを削除します。 setfacl -x0 file file の NFSv4 ACL から最初のエントリを削除します。 setfacl -bn file file から必要な 3 つを除いて、すべての ``access'' ACL エントリを削除しま す。 getfacl file1 | setfacl -b -n -M - file2 file1 から ACL エントリを file2 にコピーします。 関連項目 getfacl(1), acl(3), getextattr(8), setextattr(8), acl(9), extattr(9) 規格 setfacl ユーティリティは、IEEE Std 1003.2c に準拠するはずです。 歴史 拡張された属性 (Extended Attribute) とアクセス制御リスト (Access Control List) のサポートは、TrustedBSD Project の一貫として開発され、FreeBSD 5.0 で導入されました。NFSv4 ACL のサポートは、FreeBSD 8.1 で導入されました。 作者 setfacl ユーティリティは、Chris D. Faulhaber <jedgar@fxp.org> によって書 かれました。NFSv4 ACL サポートは、Edward Tomasz Napierala <trasz@FreeBSD.org> によって実装されました。 FreeBSD 13.2 October 26, 2018 FreeBSD 13.2