aboutsummaryrefslogtreecommitdiff
path: root/documentation/manual-pages/ja/man9/acl.9
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/manual-pages/ja/man9/acl.9')
-rw-r--r--documentation/manual-pages/ja/man9/acl.9212
1 files changed, 212 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man9/acl.9 b/documentation/manual-pages/ja/man9/acl.9
new file mode 100644
index 0000000000..c6ee892704
--- /dev/null
+++ b/documentation/manual-pages/ja/man9/acl.9
@@ -0,0 +1,212 @@
+.\"-
+.\" Copyright (c) 1999-2001 Robert N. M. Watson
+.\" 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 CONTRIBUTORS 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/share/man/man9/acl.9,v 1.12 2002/12/12 17:25:58 ru Exp\ %
+.\"
+.\" $FreeBSD$
+.Dd December 23, 1999
+.Os
+.Dt ACL 9
+.Sh 名称
+.Nm acl
+.Nd 仮想ファイルシステムアクセス制御リスト
+.Sh 書式
+.In sys/param.h
+.In sys/vnode.h
+.In sys/acl.h
+.Pp
+カーネルコンフィギュレーションファイルの中に、
+.Cd "options UFS_ACL"
+.Sh 解説
+アクセス制御リスト、すなわち ACL は、
+ファイルおよびディレクトリを表現する vnode に対する権限を、
+きめ細かく指定可能とします。
+しかしながら、
+異なる ACL のセマンティクスを持つファイルシステムが過多にあるため、
+vnode インタフェースは ACL の文法のみを理解し、基礎をなすファイルシステムが
+細部を実装することを当てにしています。
+基礎をなすファイルシステムに依存して、個々のファイルまたはディレクトリは、
+関連付けられる 0 個以上の ACL を持つことが可能です。
+それぞれ ACL の名前は、適切な vnode ACL 呼び出し
+.Xr VOP_ACLCHECK 9 ,
+.Xr VOP_GETACL 9
+および
+.Xr VOP_SETACL 9
+の
+.Fa type
+フィールドを使用して指定されます。
+.Pp
+現在は、個々の ACL は以下に定義されるカーネル内で固定サイズの
+.Vt acl
+構造体によって表現されます。
+.Bd -literal -offset indent
+struct acl {
+ int acl_cnt;
+ struct acl_entry acl_entry[ACL_MAX_ENTRIES];
+};
+.Ed
+.Pp
+ACL は、ACL エントリの固定サイズ配列で構成されます。
+各 ACL エントリは、
+パーミッションの組、主要な名前空間、主要な識別子から構成されます。
+.Pp
+個別の ACL エントリは、以下のメンバを持つ構造体の
+.Vt acl_entry_t
+型です。
+.Bl -tag -width 2n
+.It Vt acl_tag_t Va ae_tag
+以下は
+.Va ae_tag
+に設定されるべき ACL の型の定義のリストです。
+.Pp
+.Bl -tag -width ".Dv ACL_UNDEFINED_FIELD" -offset indent -compact
+.It Dv ACL_UNDEFINED_FIELD
+未定義の ACL 型。
+.It Dv ACL_USER_OBJ
+実効ユーザ ID がファイルの所有者のユーザ ID と
+一致するプロセスのための任意のアクセス権。
+.It Dv ACL_USER
+実効ユーザ ID が ACL エントリの権限と
+一致するプロセスのための任意のアクセス権。
+.It Dv ACL_GROUP_OBJ
+実効グループ ID または全ての追加のグループがファイルの所有者のグループ ID と
+一致するプロセスのための任意のアクセス権。
+.It Dv ACL_GROUP
+実効グループ ID または全ての追加のグループが ACL エントリの権限と
+一致するプロセスのための任意のアクセス権。
+.It Dv ACL_MASK
+ファイルグループクラスの中のプロセスが許可されることができる
+任意のアクセス権の最高限度。
+.It Dv ACL_OTHER
+その他の ACL エントリによって保護されていない
+プロセスのための任意のアクセス権。
+.It Dv ACL_OTHER_OBJ
+.Dv ACL_OTHER
+と同じです。
+各々の ACL エントリは、厳密に、1 つの
+.Dv ACL_USER_OBJ
+と 1 つの
+.Dv ACL_GROUP_OBJ
+と 1 つの
+.Dv ACL_OTHER
+を含まなければなりません。
+.Dv ACL_USER ,
+.Dv ACL_GROUP
+または
+.Dv ACL_OTHER
+が存在する場合には、厳密に 1 つの
+.Dv ACL_MASK
+エントリが存在するべきです。
+.El
+.It Vt uid_t Va ae_id
+この ACL がアクセスパーミッションを記述しているユーザのユーザ ID。
+.It Vt acl_perm_t Va ae_perm
+このフィールドは、この ACL に適合するプロセスが関連したファイルの
+アクセスのために、どの種類のアクセスかを定義します。
+.Bl -tag -width ".Dv ACL_POSIX1E_BITS"
+.It Dv ACL_EXECUTE
+プロセスは関連したファイルの実行が可能です。
+.It Dv ACL_WRITE
+プロセスは関連したファイルへの書込みが可能です。
+.It Dv ACL_READ
+プロセスは関連したファイルからの読込みが可能です。
+.It Dv ACL_PERM_NONE
+プロセスは関連したファイルへの読込み、書込みまたは実行のパーミッションを
+所有していません。
+.El
+.El
+.Pp
+.Sh 実装に関する注
+.Bd -literal
+typedef mode_t *acl_permset_t;
+
+/* 内部の ACL 構造体 */
+struct acl {
+ int acl_cnt;
+ struct acl_entry acl_entry[ACL_MAX_ENTRIES];
+};
+
+/* 外部の ACL 構造体 */
+struct acl_t_struct {
+ struct acl ats_acl;
+ int ats_cur_entry;
+};
+typedef struct acl_t_struct *acl_t;
+
+/*
+ * ae_tag フィールドに有効な値
+ */
+#define ACL_UNDEFINED_TAG 0x00000000
+#define ACL_USER_OBJ 0x00000001
+#define ACL_USER 0x00000002
+#define ACL_GROUP_OBJ 0x00000004
+#define ACL_GROUP 0x00000008
+#define ACL_MASK 0x00000010
+#define ACL_OTHER 0x00000020
+#define ACL_OTHER_OBJ ACL_OTHER
+
+/*
+ * acl_type_t 引数のために有効な値
+ */
+#define ACL_TYPE_ACCESS 0x00000000
+#define ACL_TYPE_DEFAULT 0x00000001
+#define ACL_TYPE_AFS 0x00000002
+#define ACL_TYPE_CODA 0x00000003
+#define ACL_TYPE_NTFS 0x00000004
+#define ACL_TYPE_NWFS 0x00000005
+
+/*
+ * ae_perm フィールドに可能なフラグ
+ */
+#define ACL_EXECUTE 0x0001
+#define ACL_WRITE 0x0002
+#define ACL_READ 0x0004
+#define ACL_PERM_NONE 0x0000
+#define ACL_PERM_BITS (ACL_EXECUTE | ACL_WRITE | ACL_READ)
+#define ACL_POSIX1E_BITS (ACL_EXECUTE | ACL_WRITE | ACL_READ)
+
+/*
+ * acl_get_entry() のための entry_id に可能な値
+ */
+#define ACL_FIRST_ENTRY 0
+#define ACL_NEXT_ENTRY 1
+
+/*
+ * ae_id フィールドの中の未定義の値
+ */
+#define ACL_UNDEFINED_ID ((uid_t)-1)
+.Ed
+.Sh 関連項目
+.Xr acl 3 ,
+.Xr vaccess_acl_posix1e 9 ,
+.Xr VFS 9 ,
+.Xr vaccess 9 ,
+.Xr VOP_ACLCHECK 9 ,
+.Xr VOP_GETACL 9 ,
+.Xr VOP_SETACL 9
+.Sh 作者
+このマニュアルページは
+.An Robert Watson
+が書きました。