3947840b05
Interpretation of a chunk in cut.1 was helped by: Yoshihiko Sarumaru <mistral@imasy.or.jp>, hrs
282 lines
7.4 KiB
Groff
282 lines
7.4 KiB
Groff
.\"
|
|
.\" Copyright (c) 2001 Chris D. Faulhaber
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR THE VOICES IN HIS HEAD BE
|
|
.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/bin/setfacl/setfacl.1,v 1.10 2004/07/02 21:04:19 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd January 7, 2001
|
|
.Dt SETFACL 1
|
|
.Os
|
|
.Sh 名称
|
|
.Nm setfacl
|
|
.Nd ACL 情報の設定
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl bdhkn
|
|
.Op Fl m Ar entries
|
|
.Op Fl M Ar file1
|
|
.Op Fl x Ar entries
|
|
.Op Fl X Ar file1
|
|
.Op Ar
|
|
.Sh 解説
|
|
.Nm
|
|
ユーティリティは指定されたファイルに対し、
|
|
裁量的なアクセス制御情報を設定します。
|
|
.Pp
|
|
次のオプションが使用可能です:
|
|
.Bl -tag -width indent
|
|
.It Fl b
|
|
必須の 3 エントリを除き、全 ACL エントリを削除します。
|
|
ACL が
|
|
.Dq Li mask
|
|
エントリを含む場合、最終的な ACL 中の
|
|
.Dq Li group
|
|
エントリのパーミッションは、現在の ACL における
|
|
.Dq Li group
|
|
と
|
|
.Dq Li mask
|
|
の両方を組み合わせたパーミッションになります。
|
|
.It Fl d
|
|
アクセス ACL の代りに、ディレクトリのデフォルト ACL に対し、
|
|
操作が適用されます。
|
|
現時点では、ディレクトリのみがデフォルト ACL を保持可能です。
|
|
.It Fl h
|
|
操作対象がシンボリックリンクの場合、
|
|
リンクを辿るのではなく、シンボリックリンク自身を操作します。
|
|
.It Fl k
|
|
指定されたファイルのデフォルト ACL エントリを削除します。
|
|
指定されたファイルがデフォルト ACL エントリを持たない場合でも、
|
|
エラーとはみなされません。
|
|
指定されたファイルがデフォルトエントリを持ち得ない場合
|
|
(すなわちディレクトリではない場合)、エラーが報告されます。
|
|
.It Fl m Ar entries
|
|
.Ar entries
|
|
で指定される ACL エントリにて、
|
|
新規エントリの追加と既存のエントリの修正を行うことにより、
|
|
指定されたファイルの ACL エントリを修正します。
|
|
.It Fl M Ar file
|
|
.Ar file
|
|
ファイル中で指定される ACL エントリにて、
|
|
新規エントリの追加と既存のエントリの修正を行うことにより、
|
|
指定されたファイルの ACL エントリを修正します。
|
|
.Ar file
|
|
が
|
|
.Fl
|
|
の場合、入力は標準入力から得られます。
|
|
.It Fl n
|
|
ACL mask エントリに関するパーミッションを再計算しません。
|
|
.It Fl x Ar entries
|
|
指定されたファイルのアクセス ACL またはデフォルト ACL から、
|
|
.Ar entries
|
|
で指定される ACL エントリを削除します。
|
|
.It Fl X Ar file
|
|
指定されたファイルのアクセス ACL またはデフォルト ACL から、
|
|
.Ar file
|
|
ファイル中で指定される ACL エントリを削除します。
|
|
.El
|
|
.Pp
|
|
上述のオプションは、コマンド行で指定された順番に評価されます。
|
|
.Sh ACL エントリ
|
|
ひとつの ACL エントリには、コロンで区切られた次の 3 個の欄があります。
|
|
それらは、ACL タグ、ACL 修飾子、裁量的なアクセスパーミッションであり、
|
|
次の意味です:
|
|
.Bl -tag -width indent
|
|
.It Ar "ACL タグ"
|
|
.Dq Li user
|
|
または
|
|
.Ql u
|
|
は、
|
|
ファイル所有者または指定されたユーザに許可されたアクセスを指定します。
|
|
.Dq Li group
|
|
または
|
|
.Ql g
|
|
は、ファイル所有グループまたは指定されたグループに
|
|
許可されたアクセスを指定します。
|
|
.Dq Li other
|
|
または
|
|
.Ql o
|
|
は、
|
|
いかなる user および group に適合しないプロセスに
|
|
許可されたアクセスを指定します。
|
|
.Dq Li mask
|
|
または
|
|
.Ql m
|
|
は、ファイル所有者
|
|
.Dq Li user
|
|
ACL エントリおよび
|
|
.Dq Li other
|
|
ACL エントリ以外のすべての ACL エントリに対して許可される、
|
|
最大アクセスを指定します。
|
|
.It Ar "ACL 修飾子"
|
|
ACL 修飾子欄は、
|
|
ある ACL エントリのユーザまたはグループを記述します。
|
|
それは次のうちのどれかひとつです:
|
|
UID かユーザ名、GID かグループ名、または空。
|
|
.Dq Li user
|
|
ACL エントリに対しては、
|
|
空の欄はファイル所有者に対して許可されるアクセスを指定します。
|
|
.Dq Li group
|
|
ACL エントリに対しては、
|
|
空の欄はファイル所有グループに対して許可されるアクセスを指定します。
|
|
.Dq Li mask
|
|
および
|
|
.Dq Li other
|
|
の ACL エントリは、この欄を使用しません。
|
|
.It Ar "アクセスパーミッション"
|
|
アクセスパーミッション欄は
|
|
アクセスパーミッション欄は、
|
|
次の文字のそれぞれを最大ひとつまで保持可能です:
|
|
.Ql r ,
|
|
.Ql w ,
|
|
.Ql x
|
|
は、それぞれ、読み取り・書き込み・実行のパーミッションを設定します。
|
|
これらの文字を取り除いたり
|
|
.Ql -
|
|
文字で置き換えることで、アクセス無しを示せます。
|
|
.El
|
|
.Pp
|
|
.Dq Li mask
|
|
ACL エントリは、デフォルトの
|
|
.Dq Li user ,
|
|
.Dq Li group ,
|
|
.Dq Li other
|
|
ACL エントリ以外では必須です。
|
|
.Fl n
|
|
オプションが指定されず、
|
|
.Dq Li mask
|
|
ACL エントリが指定されない場合、
|
|
.Nm
|
|
ユーティリティは、
|
|
最終的な ACL エントリ中のすべての
|
|
.Dq Li group
|
|
ACL エントリのパーミッションの和からなる
|
|
.Dq Li mask
|
|
ACL エントリを使用します。
|
|
.Pp
|
|
ファイルシステムオブジェクトモードに作用するという
|
|
伝統的な POSIX インタフェースは、
|
|
POSIX.1e の拡張 ACL の登場によってセマンティクスが変更されました。
|
|
オブジェクトのアクセス ACL にマスクエントリが存在する場合、
|
|
マクスエントリはグループビットの代りに使用されます。
|
|
この動作は、
|
|
.Xr stat 1
|
|
や
|
|
.Xr ls 1
|
|
といったプログラムで行われます。
|
|
マスクエントリを持つオブジェクトのモードが変更される場合、
|
|
グループビットに対する変更は、実際にはマスクエントリに対して適用されます。
|
|
これらのセマンティクスは、多くのアプリケーション互換性を提供します。
|
|
すなわち、
|
|
追加のユーザ・グループエントリに与えられる実効権限は制限され、
|
|
ACL の代りにモードを変更しようとするアプリケーションには
|
|
保守的な動作に見えます。
|
|
この動作は、
|
|
.Xr chmod 1
|
|
といったプログラムで行われます。
|
|
.Pp
|
|
.Fl M
|
|
または
|
|
.Fl X
|
|
のオプションを使用してファイルから適用される ACL エントリは、
|
|
次の形式です:
|
|
前述のように 1 ACL エントリあたり 1 行、
|
|
空白は無視、
|
|
.Ql #
|
|
の後のテキストは無視 (コメント)。
|
|
.Pp
|
|
ACL エントリが評価されるとき、
|
|
アクセスチェックアルゴリズムは次の順番で ACL エントリをチェックします:
|
|
ファイル所有者、
|
|
.Dq Li user
|
|
ACL エントリ、ファイル所有グループ、
|
|
.Dq Li group
|
|
ACL エントリ、
|
|
.Dq Li other
|
|
ACL エントリ。
|
|
.Pp
|
|
コマンド行上で複数の ACL エントリを指定するには、コンマで区切ります。
|
|
.Sh 診断
|
|
.Ex -std
|
|
.Sh 使用例
|
|
.Dl setfacl -m u::rwx,g:mail:rw file
|
|
.Pp
|
|
.Pa file
|
|
に対し、
|
|
.Pa file
|
|
所有者の ACL エントリに
|
|
読み取りと書き込みと実行のパーミッションを設定し、
|
|
mail グループに読み取りと書き込みのパーミッションを設定します。
|
|
.Pp
|
|
.Dl setfacl -M file1 file2
|
|
.Pp
|
|
.Pa file1
|
|
中の ACL エントリの設定/更新を
|
|
.Pa file2
|
|
に適用します。
|
|
.Pp
|
|
.Dl setfacl -x g:mail:rw file
|
|
.Pp
|
|
読み書きパーミッションを持つ mail グループの ACL エントリを、
|
|
.Pa file
|
|
から削除します。
|
|
.Pp
|
|
.Dl setfacl -bn file
|
|
.Pp
|
|
必須の 3 個のエントリを除くすべての
|
|
.Dq Li access
|
|
ACL エントリを、
|
|
.Pa file
|
|
から削除します。
|
|
.Pp
|
|
.Dl getfacl file1 | setfacl -b -n -M - file2
|
|
.Pp
|
|
ACL エントリを、
|
|
.Pa file1
|
|
から
|
|
.Pa file2
|
|
へコピーします。
|
|
.Sh 関連項目
|
|
.Xr getfacl 1 ,
|
|
.Xr acl 3 ,
|
|
.Xr getextattr 8 ,
|
|
.Xr setextattr 8 ,
|
|
.Xr acl 9 ,
|
|
.Xr extattr 9
|
|
.Sh 規格
|
|
.Nm
|
|
ユーティリティは
|
|
.Tn IEEE
|
|
Std 1003.2c に従っていることが期待されます。
|
|
.Sh 歴史
|
|
拡張属性およびアクセス制御リストのサポートは、
|
|
.Tn TrustedBSD
|
|
Project の一部として開発され、
|
|
.Fx 5.0
|
|
で導入されました。
|
|
.Sh 作者
|
|
.Nm
|
|
ユーティリティは
|
|
.An Chris D. Faulhaber Aq jedgar@fxp.org
|
|
が書きました。
|