SETFACL(1) FreeBSD 一般コマンドマニュアル SETFACL(1)
名称
setfacl − ACL 情報の設定 |
書式
setfacl [−bdhkn] [−m entries] [−M file1] [−x entries] [−X file1] [file ...] |
解説 |
setfacl ユーティリティは指定されたファイルに対し、裁量的なアクセス制御情 報を設定します。 次のオプションが使用可能です: |
−b
必須の 3 エントリを除き、全 ACL エントリを削除します。 ACL が ‘‘mask’’ エントリを含む場合、最終的な ACL 中の ‘‘group’’ エントリ のパーミッションは、現在の ACL における ‘‘group’’ と ‘‘mask’’ の 両方を組み合わせたパーミッションになります。 −d −h −k −m entries −M file −n −x entries −X file 上述のオプションは、コマンド行で指定された順番に評価されます。 ACL エントリ |
ひとつの ACL エントリには、コロンで区切られた次の 3 個の欄があります。そ れらは、ACL タグ、ACL 修飾子、裁量的なアクセスパーミッションであり、次の 意味です: |
ACL タグ
‘‘user’’ または ‘u’ は、ファイル所有者または指定されたユーザに許 可されたアクセスを指定します。 ‘‘group’’ または ‘g’ は、ファイル 所有グループまたは指定されたグループに許可されたアクセスを指定し ます。 ‘‘other’’ または ‘o’ は、いかなる user および group に適合 しないプロセスに許可されたアクセスを指定します。 ‘‘mask’’ または ‘m’ は、ファイル所有者 ‘‘user’’ ACL エントリおよび ‘‘other’’ ACL エントリ以外のすべての ACL エントリに対して許可される、最大アクセ スを指定します。 ACL 修飾子 アクセスパーミッション ‘‘mask’’ ACL エントリは、デフォルトの ‘‘user’’, ‘‘group’’, ‘‘other’’ 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 ACL エントリあたり 1 行、空白は無視、 ‘#’ の後のテキストは無視 (コメント)。 ACL エントリが評価されるとき、アクセスチェックアルゴリズムは次の順番で ACL エントリをチェックします: ファイル所有者、 ‘‘user’’ ACL エントリ、 ファイル所有グループ、 ‘‘group’’ ACL エントリ、 ‘‘other’’ ACL エントリ。 コマンド行上で複数の ACL エントリを指定するには、コンマで区切ります。 診断 |
ユーティリティ setfacl は、成功すると 0 で、エラーがあった場合は >0 で終 了します。 |
使用例
setfacl -m u::rwx,g:mail:rw file |
file に対し、 file 所有者の ACL エントリに読み取りと書き込みと実行のパー ミッションを設定し、 mail グループに読み取りと書き込みのパーミッションを 設定します。 |
setfacl -M file1 file2 |
file1 中の ACL エントリの設定/更新を file2 に適用します。 |
setfacl -x g:mail:rw file |
読み書きパーミッションを持つ mail グループの ACL エントリを、 file から削 除します。 |
setfacl -bn file |
必須の 3 個のエントリを除くすべての ‘‘access’’ ACL エントリを、 file から 削除します。 |
getfacl file1 | setfacl -b -n -M - file2 |
ACL エントリを、 file1 から file2 へコピーします。 |
関連項目
getfacl(1), acl(3), getextattr(8), setextattr(8), acl(9), extattr(9) |
規格
setfacl ユーティリティは IEEE Std 1003.2c に従っていることが期待されま す。 |
歴史
拡張属性およびアクセス制御リストのサポートは、 TrustedBSD Project の一部 として開発され、 FreeBSD 5.0 で導入されました。 |
作者
setfacl ユーティリティは Chris D. Faulhaber 〈jedgar@fxp.org〉 が書きまし た。 FreeBSD 10.0 January 7, 2001 FreeBSD 10.0 |