OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man7 / credentials.7
diff --git a/draft/man7/credentials.7 b/draft/man7/credentials.7
deleted file mode 100644 (file)
index c99ec6c..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-.\" Copyright (c) 2007 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.\" 2007-06-13 Creation
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 2007 Akihiro MOTOKI all rights reserved.
-.\" Translated 2007-10-25, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.66
-.\" Updated 2008-08-04, Akihiro MOTOKI, LDP v3.05
-.\"
-.TH CREDENTIALS 7 2014\-12\-31 Linux "Linux Programmer's Manual"
-.SH 名前
-credentials \- 認証に用いられるプロセスの識別子
-.SH 説明
-.SS "プロセスID (PID)"
-各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は \fBfork\fP(2)  を使ってプロセスが生成される際に割り当てられる。 プロセスは
-\fBgetpid\fP(2)  を使って自分の PID を取得できる。 PID は \fIpid_t\fP 型で表現される (\fIpid_t\fP は
-\fI<sys/types.h>\fP で定義されている)。
-
-.\" .BR sched_rr_get_interval (2),
-.\" .BR sched_getaffinity (2),
-.\" .BR sched_setaffinity (2),
-.\" .BR sched_getparam (2),
-.\" .BR sched_setparam (2),
-.\" .BR sched_setscheduler (2),
-.\" .BR sched_getscheduler (2),
-.\" .BR getsid (2),
-.\" .BR waitid (2),
-.\" .BR wait4 (2),
-PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するために使用される。以下に例を挙げる: \fBkill\fP(2),
-\fBptrace\fP(2), \fBsetpriority\fP(2), \fBsetpgid\fP(2), \fBsetsid\fP(2),
-\fBsigqueue\fP(3), \fBwaitpid\fP(2).
-
-プロセスの PID は \fBexecve\fP(2)  の前後で不変である。
-.SS "親プロセス ID (PPID)"
-プロセスの親プロセスの ID は、 \fBfork\fP(2)  を使ってそのプロセスを生成したプロセスを示す。 プロセスは \fBgetppid\fP(2)
-を使って自分の PPID を取得できる。 PPID は \fIpid_t\fP 型で表現される。
-
-プロセスの PPID は \fBexecve\fP(2)  の前後で不変である。
-.SS "プロセスグループ ID とセッション ID"
-各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちらも \fIpid_t\fP 型で表現される。 プロセスは、それぞれ
-\fBgetsid\fP(2), \fBgetpgrp\fP(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。
-
-\fBfork\fP(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグループ ID を継承する。プロセスのセッション ID
-とプロセスグループ ID は \fBexecve\fP(2)  の前後で不変である。
-
-セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案されたものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある)
-は、 同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコマンドもしくはパイプラインの実行に使われるプロセス群に
-対して一つのプロセスグループを生成する (例えば、コマンド "ls\ |\ wc" を実行するために生成される二つのプロセスは
-同じプロセスグループに置かれる)。 所属するプロセスグループは \fBsetpgid\fP(2)  を使って設定できる。 自身のプロセス ID
-がプロセスグループ ID と同じプロセスは、 そのグループの「プロセスグループリーダー」である。
-
-セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つのプロセスグループの全メンバーは同じセッション ID を持つ
-(つまり、一つのプロセスグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプロセスグループで二階層のプロセス階層が形成できる)。
-新たなセッションの生成はプロセスが \fBsetsid\fP(2)  を呼び出すことで行う。 \fBsetsid\fP(2)  は、 \fBsetsid\fP(2)
-を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッションを生成する。 セッションの生成者は「セッションリーダー」と呼ばれる。
-
-あるセッションの全プロセスは一つの \fI制御端末\fP を共有する。 セッションリーダーが最初に端末をオープンした際に制御端末は設定される
-(\fBopen\fP(2) の呼び出しで \fBO_NOCTTY\fP フラグが指定された場合を除く)。
-一つの端末は、最大でも一つのセッションの制御端末にしかなれない。
-
-一つのセッションのジョブの中で、\fIフォアグラウンドジョブ\fPになれるのは最大でも一つで、そのセッションの他のジョブは\fIバックグラウンドジョブ\fPである。
-フォアグラウンドジョブだけが端末からの読み込みを行える。 バックグラウンドのプロセスが端末から読み込みを行おうとした場合、
-フォアグラウンドジョブを停止させるシグナルである \fBSIGTTIN\fP が所属するプロセスグループに対して送信される。 端末に \fBTOSTOP\fP
-フラグがセットされていた場合 (\fBtermios\fP(3) 参照)、 フォアグラウンドジョブだけが端末への書き込みを行える。
-バックグラウンドのプロセスが端末への書き込みを行おうとした場合、 フォアグラウンドジョブを停止させるシグナルである \fBSIGTTOU\fP が生成される。
-シグナルを生成する端末キー (例えば \fI中断\fPキー、通常は control\-C) が押された場合、
-そのシグナルはフォアグラウンドジョブのプロセスに送信される。
-
-様々なシステムコールやライブラリ関数で、プロセスグループの全メンバーに対して操作を行うことができる。 例えば、 \fBkill\fP(2),
-\fBkillpg\fP(2), \fBgetpriority\fP(2), \fBsetpriority\fP(2), \fBioprio_get\fP(2),
-\fBioprio_set\fP(2), \fBwaitid\fP(2), \fBwaitpid\fP(2) など。 \fBfcntl\fP(2) の操作
-\fBF_GETOWN\fP, \fBF_GETOWN_EX\fP, \fBF_SETOWN\fP, \fBF_SETOWN_EX\fP の議論も参照。
-.SS "ユーザー ID とグループ ID"
-各プロセスは、数種類のユーザー ID とグループ ID を持つ。 ユーザー ID、グループ ID は整数で、それぞれ \fIuid_t\fP,
-\fIgid_t\fP 型で表現される (これらは \fI<sys/types.h>\fP で定義されている)。
-
-Linux では、各プロセスは以下のような種類のユーザー ID とグループ ID を持つ。
-.IP * 3
-実ユーザー ID と実グループ ID。 これらの ID によりプロセスの所有者が決定される。 プロセスが自分の実ユーザー ID、実グループ ID
-を取得するには、それぞれ \fBgetuid\fP(2), \fBgetgid\fP(2)  を使用する。
-.IP *
-実効ユーザー ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモリー、セマフォなどの
-共有リソースにアクセスしようとした際にそのプロセスがアクセス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX
-システムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用される。 しかしながら、Linux
-ではファイルへのアクセス許可の判定には 後述のファイルシステム ID が使用される。 プロセスが自分の実効ユーザー ID、実効グループ ID
-を取得するには、それぞれ \fBgeteuid\fP(2), \fBgetegid\fP(2)  を使用する。
-.IP *
-保存 (saved) set\-user\-ID と保存 set\-group\-ID。 これらの ID は、set\-user\-ID や
-set\-group\-ID されたプログラムにおいて、 プログラムの実行時に設定された実効 ID のコピーを保存するために 使用される
-(\fBexecve\fP(2)  参照)。 set\-user\-ID プログラムは、実効ユーザー ID を実ユーザーID と保存 set\-user\-ID
-の間で行ったり来たり切り替えることで、特権を得たり落としたりできる。 この切り替えは \fBseteuid\fP(2), \fBsetreuid\fP(2),
-\fBsetresuid\fP(2)  を呼び出すことで実行できる。 set\-group\-ID プログラムは、 \fBsetegid\fP(2),
-\fBsetregid\fP(2), \fBsetresgid\fP(2)  を使って同様のことができる。 プロセスが自分の保存 set\-user\-ID、保存
-set\-group\-ID を取得するには、 \fBgetresuid(2),\fP \fBgetresgids\fP(2)  をそれぞれ使用する。
-.IP *
-ファイルシステムユーザー ID とファイルシステムグループ ID (Linux 固有)。 これらの ID は、後述の補助グループ ID
-と組み合わせて使用され、 ファイルへのアクセス権の決定に利用される。詳細は \fBpath_resolution\fP(7)  を参照。 プロセスの実効 ID
-(ユーザー ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応するファイルシステム ID を同じ値に変更する。
-その結果、ファイルシステム ID は通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は Linux と他の UNIX
-システムで同じである。 ファイルシステム ID は実効 ID とは異なる値にすることができ、 変更は \fBsetfsuid\fP(2)  と
-\fBsetfsgid\fP(2)  を呼び出して行う。
-.IP *
-.\" Since kernel 2.6.4, the limit is visible via the read-only file
-.\" /proc/sys/kernel/ngroups_max.
-.\" As at 2.6.22-rc2, this file is still read-only.
-補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアクセス許可の チェックに使用される、追加のグループ ID
-の集合である。 カーネル 2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は最大で 32 である。 カーネル
-2.6.4 以降では、一つのプロセスあたりの 補助グループのメンバー数は最大で 65536 である。
-\fIsysconf(_SC_NGROUPS_MAX)\fP を呼び出すことで、あるプロセスがメンバーとなることができる可能性のある
-補助グループ数を知ることができる。 プロセスは、自分の補助グループ ID の集合を \fBgetgroups\fP(2)  で取得でき、
-\fBsetgroups\fP(2)  で集合を変更できる。
-.PP
-\fBfork\fP(2)  で生成された子プロセスは親プロセスのユーザー ID とグループ ID を継承する。 \fBexecve\fP(2)
-の間、プロセスの実ユーザー/グループ ID と補助グループ ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある
-(\fBexecve\fP(2)  で説明されている)。
-
-上記の目的以外にも、プロセスのユーザー ID は他の様々な場面で利用される。
-.IP * 3
-シグナルを送る許可の判定時 (\fBkill\fP(2)  参照)
-.IP *
-プロセスのスケジューリング関連のパラメーター (nice 値、 リアルタイムスケジューリングポリシーや優先度、CPU affinity、 入出力優先度)
-の設定許可の判定時。 スケジューリング関連のパラメーター設定には \fBsetpriority\fP(2), \fBsched_setaffinity\fP(2),
-\fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2), \fBsched_setattr\fP(2),
-\fBioprio_set\fP(2)  が使用される。
-.IP *
-リソース上限のチェック時 (\fBgetrlimit\fP(2)  参照)
-.IP *
-プロセスが生成できる inotify インスタンス数の上限のチェック時 (\fBinotify\fP(7) 参照)
-.SH 準拠
-プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は POSIX.1\-2001 で規定されている。 実 ID、実効
-ID、保存セット ID のユーザー ID / グループ ID および 補助グループ ID は POSIX.1\-2001 で規定されている。
-ファイルシステムユーザー ID / グループ ID は Linux による拡張である。
-.SH 注意
-POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有されることを求めている。 しかしながら、カーネルのレベルでは、Linux
-はスレッド毎に別々の ユーザーとグループに関する識別子を管理している。 NPTL スレッド実装が、(例えば \fBsetuid\fP(2),
-\fBsetresuid\fP(2)  などの呼び出しによる) ユーザーやグループに関する識別子に対する変更が プロセス内の全ての POSIX
-スレッドに対して反映されることを保証する ための処理を行っている。
-.SH 関連項目
-\fBbash\fP(1), \fBcsh\fP(1), \fBps\fP(1), \fBaccess\fP(2), \fBexecve\fP(2),
-\fBfaccessat\fP(2), \fBfork\fP(2), \fBgetgroups\fP(2), \fBgetpgrp\fP(2), \fBgetpid\fP(2),
-\fBgetppid\fP(2), \fBgetsid\fP(2), \fBkill\fP(2), \fBkillpg\fP(2), \fBsetegid\fP(2),
-\fBseteuid\fP(2), \fBsetfsgid\fP(2), \fBsetfsuid\fP(2), \fBsetgid\fP(2),
-\fBsetgroups\fP(2), \fBsetresgid\fP(2), \fBsetresuid\fP(2), \fBsetuid\fP(2),
-\fBwaitpid\fP(2), \fBeuidaccess\fP(3), \fBinitgroups\fP(3), \fBtcgetpgrp\fP(3),
-\fBtcsetpgrp\fP(3), \fBcapabilities\fP(7), \fBnamespaces\fP(7),
-\fBpath_resolution\fP(7), \fBpid_namespaces\fP(7), \fBsignal\fP(7),
-\fBuser_namespaces\fP(7), \fBunix\fP(7)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。