がプロセス \fIwho\fP の実 UID か実効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3,
Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD\-2.5等) は、 Linux 2.6.12 以降と同じ動作をする。
.LP
-The actual priority range varies between kernel versions. Linux before
-1.3.36 had \-infinity..15. Since kernel 1.3.43, Linux has the range
-\-20..19. On some other systems, the range of nice values is \-20..20.
+実際の優先度の範囲はカーネルのバージョンにより異なる。 バージョン 1.3.36 より前の Linux では
+\-infinity(マイナス無限大)..15 である。 カーネル 1.3.43 以降の Linux では、 \-20..19 である。
+他のいくつかのシステムでは、この範囲が \-20..20 である。
.\"
現在では \fI<sys/time.h>\fP をインクルードする必要はないが、インクルードすれば移植性を高めることができる (実際には
\fI<sys/resource.h>\fP で \fIrusage\fP 構造体が定義されているが、そのフィールドで使用されている
\fIstruct timeval\fP 型は \fI<sys/time.h>\fP で定義されている)。
-.SS "C library/kernel ABI differences"
-Within the kernel, nice values are actually represented using the range
-40..1 (since negative numbers are error codes) and these are the values
-employed by the \fBsetpriority\fP() and \fBgetpriority\fP() system calls. The
-glibc wrapper functions for these system calls handle the translations
-between the user\-land and kernel representations of the nice value according
-to the formula \fIunice\ =\ 20\ \-\ knice\fP. (Thus, the kernels 40..1 range
-corresponds to the range \-20..19 as seen by user space.)
+.SS "C ライブラリとカーネル ABI の違い"
+カーネル内部では、nice 値は実際には 40 〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの値が システムコール
+\fBsetpriority\fP() と \fBgetpriority\fP() で使用されている。 glibc
+のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領域 (user\-land) とカーネル表現の間の変換が行われる。 変換式は
+\fIunice\ =\ 20\ \-\ knice\fP となる。 (したがって、カーネルの 40..1 の範囲はユーザー空間で見える \-20..19
+の範囲に対応する。)
.SH バグ
POSIX では nice 値はプロセス単位の設定となっている。 一方、 現在の POSIX スレッドの Linux/NPTL 実装では、 nice
値はスレッド単位の属性である。 同じプロセスの別々のスレッドが異なる nice 値を持つ場合がある。 移植性が必要なアプリケーションではこの Linux
以下の式により計算され、(そのキューが削除されるまでの間) この制限の計算対象に含められる。
.nf
- Since Linux 3.5:
+ Linux 3.5 以降:
bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +
min(attr.mq_maxmsg, MQ_PRIO_MAX) *
sizeof(struct posix_msg_tree_node)+
- /* For overhead */
+ /* オーバーヘッド分 */
attr.mq_maxmsg * attr.mq_msgsize;
- /* For message data */
+ /* メッセージデータ分 */
- Linux 3.4 and earlier:
+ Linux 3.4 以前:
bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +
- /* For overhead */
+ /* オーバーヘッド分 */
attr.mq_maxmsg * attr.mq_msgsize;
- /* For message data */
+ /* メッセージデータ分 */
.fi
-where \fIattr\fP is the \fImq_attr\fP structure specified as the fourth argument
-to \fBmq_open\fP(3), and the \fImsg_msg\fP and \fIposix_msg_tree_node\fP structures
-are kernel\-internal structures.
-
-The "overhead" addend in the formula accounts for overhead bytes required by
-the implementation and ensures that the user cannot create an unlimited
-number of zero\-length messages (such messages nevertheless each consume some
-system memory for bookkeeping overhead).
+ここで \fIattr\fP は \fImq_attr\fP 構造体であり、 \fBmq_open\fP(3) の第 4 引き数として指定される。 また、構造体
+\fImsg_msg\fP と \fIposix_msg_tree_node\fP はカーネル内部の構造体である。
+
+上記の式での「オーバーヘッド」加算分は、実装において必要となるオーバーヘッドを考慮したものである。 また、これにより、ユーザーが長さ 0
+のメッセージを無制限に作れないことが保証される (このようなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費する)。
.TP
\fBRLIMIT_NICE\fP (Linux 2.6.12 以降, 下記の「バグ」の節も参照)
\fBsetpriority\fP(2) や \fBnice\fP(2) を使って引き上げられるプロセスの nice 値の上限を指定する。 nice
.SH 返り値
成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
-\fINote\fP: there are cases where \fBseteuid\fP() can fail even when the caller
-is UID 0; it is a grave security error to omit checking for a failure return
-from \fBseteuid\fP().
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBseteuid\fP() が失敗する場合がある。 \fBseteuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
.SH エラー
.TP
\fBEINVAL\fP
-The target user or group ID is not valid in this user namespace.
+対象のユーザー ID かグループ ID がこのユーザー名前空間では有効ではない。
.TP
\fBEPERM\fP
呼び出し元のプロセスに特権がなく、 \fIeuid\fP (\fIegid\fP) が実ユーザー (グループ) ID、または実効ユーザー (グループ) ID、
POSIX.1 では、 \fBseteuid\fP() (\fBsetegid\fP()) で、 \fIeuid\fP (\fIegid\fP) として現在の実効ユーザ
(グループ) ID と同じ値を指定可能である 必要はないとされており、いくつかの実装では \fIeuid\fP (\fIegid\fP) として現在の実効ユーザ
(グループ) ID と同じ値を 指定することができない。
-.SS "C library/kernel ABI differences"
-On Linux, \fBseteuid\fP() and \fBsetegid\fP() are implemented as library
-functions that call, respectively, \fBsetreuid\fP(2) and \fBsetresgid\fP(2).
+.SS "C ライブラリとカーネル ABI の違い"
+Linux では、 \fBseteuid\fP() と \fBsetegid\fP() は、それぞれ \fBsetreuid\fP(2) と
+\fBsetresgid\fP(2) を呼び出すライブラリ関数として実装されている。
.SH 関連項目
\fBgeteuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2),
\fBcapabilities\fP(7), \fBcredentials\fP(7), \fBuser_namespaces\fP(7)
.SH エラー
.TP
\fBEINVAL\fP
-The group ID specified in \fIgid\fP is not valid in this user namespace.
+\fIgid\fP で指定されたグループ ID がこのユーザー名前空間では有効ではない。
.TP
\fBEPERM\fP
呼び出し元のプロセスに権限がなく (\fBCAP_SETGID\fP ケーパビリティがなく)、かつ \fIgid\fP が呼び出し元のプロセスの実グループID
.SH 返り値
成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
-\fINote\fP: there are cases where \fBsetresuid\fP() can fail even when the caller
-is UID 0; it is a grave security error to omit checking for a failure return
-from \fBsetresuid\fP().
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBsetresuid\fP() が失敗する場合がある。 \fBsetresuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
.SH エラー
.TP
\fBEAGAIN\fP
-The call would change the caller's real UID (i.e., \fIruid\fP does not match
-the caller's real UID), but there was a temporary failure allocating the
-necessary kernel data structures.
+この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 \fIruid\fP が呼び出し元の実 UID と一致していない)、
+必要なカーネルのデータ構造体の割り当てで一時的な失敗があった。
.TP
\fBEAGAIN\fP
-\fIruid\fP does not match the caller's real UID and this call would bring the
-number of processes belonging to the real user ID \fIruid\fP over the caller's
-\fBRLIMIT_NPROC\fP resource limit. Since Linux 3.1, this error case no longer
-occurs (but robust applications should check for this error); see the
-description of \fBEAGAIN\fP in \fBexecve\fP(2).
+\fIruid\fP は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID \fIruid\fP に属するプロセス数が呼び出し元の
+\fBRLIMIT_NPROC\fP リソース上限を超過するところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない
+(しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきである)。 \fBexecve\fP(2) の \fBEAGAIN\fP の説明を参照。
.TP
\fBEINVAL\fP
-One or more of the target user or group IDs is not valid in this user
-namespace.
+対象のユーザー ID やグループ ID のうち 1 つ以上がこのユーザー名前空間で有効ではない。
.TP
\fBEPERM\fP
呼び出したプロセスが特権を持たないのに (\fBCAP_SETUID\fP ケーパビリティを持たないのに)、 ID を許されていない値に変更しようとした。
.SH 返り値
成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
-\fINote\fP: there are cases where \fBsetreuid\fP() can fail even when the caller
-is UID 0; it is a grave security error to omit checking for a failure return
-from \fBsetreuid\fP().
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBsetreuid\fP() が失敗する場合がある。 \fBsetreuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
.SH エラー
.TP
\fBEAGAIN\fP
-The call would change the caller's real UID (i.e., \fIruid\fP does not match
-the caller's real UID), but there was a temporary failure allocating the
-necessary kernel data structures.
+この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 \fIruid\fP が呼び出し元の実 UID と一致していない)、
+必要なカーネルのデータ構造体の割り当てで一時的な失敗があった。
.TP
\fBEAGAIN\fP
-\fIruid\fP does not match the caller's real UID and this call would bring the
-number of processes belonging to the real user ID \fIruid\fP over the caller's
-\fBRLIMIT_NPROC\fP resource limit. Since Linux 3.1, this error case no longer
-occurs (but robust applications should check for this error); see the
-description of \fBEAGAIN\fP in \fBexecve\fP(2).
+\fIruid\fP は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID \fIruid\fP に属するプロセス数が呼び出し元の
+\fBRLIMIT_NPROC\fP リソース上限を超過するところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない
+(しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきである)。 \fBexecve\fP(2) の \fBEAGAIN\fP の説明を参照。
.TP
\fBEINVAL\fP
-One or more of the target user or group IDs is not valid in this user
-namespace.
+対象のユーザー ID やグループ ID のうち 1 つ以上がこのユーザー名前空間で有効ではない。
.TP
\fBEPERM\fP
呼び出し元のプロセスに特権がなく (Linux では \fBsetreuid\fP() の場合に \fBCAP_SETUID\fP ケーパビリティ
.br
.ad b
.SH 説明
-\fBsetsid\fP() creates a new session if the calling process is not a process
-group leader. The calling process is the leader of the new session (i.e.,
-its session ID is made the same as it process ID). The calling process also
-becomes the process group leader of a new process group in the session
-(i.e., its process group ID is made the same as it process ID).
+\fBsetsid\fP() は、 呼び出したプロセスがプロセスグループ・リーダー (process group leader) でなければ、
+新しいセッションを作成する。 呼び出したプロセスは、 新しいセッションのリーダーとなる (すなわち、そのセッション ID がプロセス ID
+と同じ値になる)。 また、呼び出したプロセスは、 そのセッションの新しいプロセスグループのプロセスグループ・リーダーにもなる
+(すなわち、プロセスグループ ID がプロセス ID と同じ値になる)。
-The calling process will be the only process in the new process group and in
-the new session. The new session has no controlling terminal.
+呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセスとなる。 新しいセッションは制御端末を持たない。
.SH 返り値
成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの場合は、 \fI(pid_t)\ \-1\fP が返され、
\fIerrno\fP にエラーを示す値が設定される。
\fBfork\fP(2) で作成された子プロセスは、親プロセスのセッション ID を継承する。 \fBexecve\fP(2) の前後でセッション ID
は保存される。
-A process group leader is a process whose process group ID equals its PID.
-Disallowing a process group leader from calling \fBsetsid()\fP prevents the
-possibility that a process group leader places itself in a new session while
-other processes in the process group remain in the original session; such a
-scenario would break the strict two\-level hierarchy of sessions and process
-groups. In order to be sure that \fBsetsid\fP() will succeed, \fBfork\fP(2) and
-\fB_exit\fP(2), and have the child do \fBsetsid\fP().
+プロセスグループ・リーダーは、 プロセスグループ ID がその PID と同じ値のプロセスである。 プロセスグループ・リーダーが \fBsetsid\fP()
+を呼び出すことを許可しないと、 そのプロセスグループ内の他のプロセスを元のセッションに残したまま、
+プロセスグループ・リーダーが自分自身を新しいセッションに入れるということができなくなる。 このようなシナリオは、
+セッションとプロセスグループという厳密な 2 階層モデルを壊すことになる。 \fBsetsid\fP() が成功することを保証するには、 \fBfork\fP(2)
+と \fB_exit\fP(2) を行い、 その子プロセスに \fBsetsid\fP() をさせればよい。
.SH 関連項目
\fBsetsid\fP(1), \fBgetsid\fP(2), \fBsetpgid\fP(2), \fBsetpgrp\fP(2), \fBtcgetsid\fP(3),
\fBcredentials\fP(7)
.SH 返り値
成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
-\fINote\fP: there are cases where \fBsetuid\fP() can fail even when the caller is
-UID 0; it is a grave security error to omit checking for a failure return
-from \fBsetuid\fP().
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBsetuid\fP() が失敗する場合がある。 \fBsetuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
.SH エラー
.TP
\fBEAGAIN\fP
-The call would change the caller's real UID (i.e., \fIuid\fP does not match the
-caller's real UID), but there was a temporary failure allocating the
-necessary kernel data structures.
+この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 \fIuid\fP が呼び出し元の実 UID と一致していない)、
+必要なカーネルのデータ構造体の割り当てで一時的な失敗があった。
.TP
\fBEAGAIN\fP
-\fIuid\fP does not match the real user ID of the caller and this call would
-bring the number of processes belonging to the real user ID \fIuid\fP over the
-caller's \fBRLIMIT_NPROC\fP resource limit. Since Linux 3.1, this error case
-no longer occurs (but robust applications should check for this error); see
-the description of \fBEAGAIN\fP in \fBexecve\fP(2).
+\fIuid\fP は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID \fIruid\fP に属するプロセス数が呼び出し元の
+\fBRLIMIT_NPROC\fP リソース上限を超過するところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない
+(しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきである)。 \fBexecve\fP(2) の \fBEAGAIN\fP の説明を参照。
.TP
\fBEINVAL\fP
-The user ID specified in \fIuid\fP is not valid in this user namespace.
+\fIuid\fP で指定されたユーザー ID がこのユーザー名前空間では有効ではない。
.TP
\fBEPERM\fP
ユーザーが特権を持たず (Linux では \fBCAP_SETUID\fP ケーパビリティ (capability) を持たず)、 \fIuid\fP
--- /dev/null
+.\" Copyright (C) 2014, 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
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH GROUP_MEMBER 3 2014\-03\-30 GNU "Linux Programmer's Manual"
+.SH 名前
+group_member \- プロセスがグループに属しているかを検査する
+.SH 書式
+\fB#include <unistd.h>\fP
+.sp
+\fBint group_member(gid_t \fP\fIgid\fP\fB);\fP
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
+.in
+.sp
+\fBgroup_member\fP(): _GNU_SOURCE
+.SH 説明
+\fBgroup_member\fP() 関数は、 呼び出し元の補助グループ ID (\fBgetgroups\fP(2) が返す値) のいずれかが \fIgid\fP
+に一致するかを検索する。
+.SH 返り値
+\fBgroup_member\fP() 関数は、 呼び出し元の補助グループ ID のいずれかが \fIgid\fP に一致すれば 0 以外の値を、そうでなければ
+0 を返す。
+.SH 準拠
+この関数は非標準の GNU 拡張である。
+.SH 関連項目
+\fBgetgid\fP(2), \fBgetgroups\fP(2), \fBgetgrouplist\fP(3), \fBgroup\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
\fBCAP_AUDIT_READ\fP (Linux 3.16 以降)
.\" commit a29b694aa1739f9d76538e34ae25524f9c549d59
.\" commit 3a101b8de0d39403b2c7e5c23fd0b005668acf48
-Allow reading the audit log via a multicast netlink socket.
+マルチキャスト netlink ソケット経由で監査ログの読み出しができる。
.TP
\fBCAP_AUDIT_WRITE\fP (Linux 2.6.11 以降)
カーネル監査のログにレコードを書き込む。
.IP *
特権が必要な \fIperf\fP イベントの情報にアクセスする。
.IP *
-call \fBsetns\fP(2) (requires \fBCAP_SYS_ADMIN\fP in the \fItarget\fP namespace);
+\fBsetns\fP(2) を呼び出す (\fItarget\fP 名前空間での \fBCAP_SYS_ADMIN\fP が必要)。
.IP *
\fBfanotify_init\fP(2) を呼び出す。
.IP *
.IP *
\fBget_robust_list\fP(2) を任意のプロセスに対して行う。
.IP *
-transfer data to or from the memory of arbitrary processes using
-\fBprocess_vm_readv\fP(2) and \fBprocess_vm_writev\fP(2).
+\fBprocess_vm_readv\fP(2) と \fBprocess_vm_writev\fP(2)
+を使って任意のプロセスのメモリとの間でデータの送受信を行う。
.IP *
\fBkcmp\fP(2) を使ってプロセス内部を調査する。
.RE
SECBIT_NOROOT_LOCKED);
.fi
.in
-.SS "Interaction with user namespaces"
-For a discussion of the interaction of capabilities and user namespaces, see
-\fBuser_namespaces\fP(7).
+.SS ユーザー名前空間との相互作用
+ケーパリビティとユーザー名前空間の相互の影響に関する議論は \fBuser_namespaces\fP(7) を参照。
.SH 準拠
.PP
ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった POSIX.1e 草案に基づいて実装されている。
.TP
\fIshm_ctime\fP
最後に \fBshmctl\fP(2) システムコールを行なって、 \fIshmid_ds\fP 構造体を変更した時間。
-.SS "IPC namespaces"
-For a discussion of the interaction of System V IPC objects and IPC
-namespaces, see \fBnamespaces\fP(7).
+.SS "IPC 名前空間"
+System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は \fBnamespaces\fP(7) を参照。
.SH 関連項目
\fBipcmk\fP(1), \fBipcrm\fP(1), \fBipcs\fP(1), \fBipc\fP(2), \fBmsgctl\fP(2), \fBmsgget\fP(2),
\fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBsemctl\fP(2), \fBsemget\fP(2), \fBsemop\fP(2),
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-05 07:24+0900\n"
+"PO-Revision-Date: 2015-01-05 19:14+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: Plain text
#: build/C/man7/capabilities.7:82
msgid "Allow reading the audit log via a multicast netlink socket."
-msgstr ""
+msgstr "マルチキャスト netlink ソケット経由で監査ログの読み出しができる。"
#. type: TP
#: build/C/man7/capabilities.7:82
#: build/C/man7/capabilities.7:380
msgid ""
"call B<setns>(2) (requires B<CAP_SYS_ADMIN> in the I<target> namespace);"
-msgstr ""
+msgstr "B<setns>(2) を呼び出す (I<target> 名前空間での B<CAP_SYS_ADMIN> が必要)。"
#. type: Plain text
#: build/C/man7/capabilities.7:383
msgid ""
"transfer data to or from the memory of arbitrary processes using "
"B<process_vm_readv>(2) and B<process_vm_writev>(2)."
-msgstr ""
+msgstr "B<process_vm_readv>(2) と B<process_vm_writev>(2) を使って任意のプロセスのメモリとの間でデータの送受信を行う。"
#. type: Plain text
#: build/C/man7/capabilities.7:507
#: build/C/man7/capabilities.7:1117
#, no-wrap
msgid "Interaction with user namespaces"
-msgstr ""
+msgstr "ユーザー名前空間との相互作用"
#. type: Plain text
#: build/C/man7/capabilities.7:1120
msgid ""
"For a discussion of the interaction of capabilities and user namespaces, see "
"B<user_namespaces>(7)."
-msgstr ""
+msgstr "ケーパリビティとユーザー名前空間の相互の影響に関する議論は B<user_namespaces>(7) を参照。"
#. type: Plain text
#: build/C/man7/capabilities.7:1126
"The actual priority range varies between kernel versions. Linux before "
"1.3.36 had -infinity..15. Since kernel 1.3.43, Linux has the range "
"-20..19. On some other systems, the range of nice values is -20..20."
-msgstr ""
+msgstr "実際の優先度の範囲はカーネルのバージョンにより異なる。 バージョン 1.3.36 より前の Linux では -infinity(マイナス無限大)..15 である。 カーネル 1.3.43 以降の Linux では、 -20..19 である。 他のいくつかのシステムでは、この範囲が -20..20 である。"
#. type: Plain text
#: build/C/man2/getpriority.2:210
#: build/C/man2/getpriority.2:210 build/C/man2/seteuid.2:132
#, no-wrap
msgid "C library/kernel ABI differences"
-msgstr ""
+msgstr "C ライブラリとカーネル ABI の違い"
#. type: Plain text
#: build/C/man2/getpriority.2:225
-#, fuzzy
-#| msgid ""
-#| "The actual priority range varies between kernel versions. Linux before "
-#| "1.3.36 had -infinity..15. Since kernel 1.3.43, Linux has the range "
-#| "-20..19. Within the kernel, nice values are actually represented using "
-#| "the corresponding range 40..1 (since negative numbers are error codes) "
-#| "and these are the values employed by the B<setpriority>() and "
-#| "B<getpriority>() system calls. The glibc wrapper functions for these "
-#| "system calls handle the translations between the user-land and kernel "
-#| "representations of the nice value according to the formula I<unice\\ =\\ "
-#| "20\\ -\\ knice>."
msgid ""
"Within the kernel, nice values are actually represented using the range "
"40..1 (since negative numbers are error codes) and these are the values "
"between the user-land and kernel representations of the nice value according "
"to the formula I<unice\\ =\\ 20\\ -\\ knice>. (Thus, the kernels 40..1 "
"range corresponds to the range -20..19 as seen by user space.)"
-msgstr ""
-"実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
-"Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
-"は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
-"〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
-"値が システムコール B<setpriority>() と B<getpriority>() で使用されてい"
-"る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
-"域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
-"I<unice\\ =\\ 20\\ -\\ knice>"
+msgstr "カーネル内部では、nice 値は実際には 40 〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの値が システムコール B<setpriority>() と B<getpriority>() で使用されている。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領域 (user-land) とカーネル表現の間の変換が行われる。 変換式は I<unice\\ =\\ 20\\ -\\ knice> となる。 (したがって、カーネルの 40..1 の範囲はユーザー空間で見える -20..19 の範囲に対応する。)"
#. type: Plain text
#: build/C/man2/getpriority.2:232
" attr.mq_maxmsg * attr.mq_msgsize;\n"
" /* For message data */\n"
msgstr ""
+" Linux 3.5 以降:\n"
+" bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +\n"
+" min(attr.mq_maxmsg, MQ_PRIO_MAX) *\n"
+" sizeof(struct posix_msg_tree_node)+\n"
+" /* オーバーヘッド分 */\n"
+" attr.mq_maxmsg * attr.mq_msgsize;\n"
+" /* メッセージデータ分 */\n"
#. type: Plain text
#: build/C/man2/getrlimit.2:266
" attr.mq_maxmsg * attr.mq_msgsize;\n"
" /* For message data */\n"
msgstr ""
+" Linux 3.4 以前:\n"
+" bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
+" /* オーバーヘッド分 */\n"
+" attr.mq_maxmsg * attr.mq_msgsize;\n"
+" /* メッセージデータ分 */\n"
#. type: Plain text
#: build/C/man2/getrlimit.2:279
-#, fuzzy
-#| msgid ""
-#| "where I<attr> is the I<mq_attr> structure specified as the fourth "
-#| "argument to B<mq_open>(3)."
msgid ""
"where I<attr> is the I<mq_attr> structure specified as the fourth argument "
"to B<mq_open>(3), and the I<msg_msg> and I<posix_msg_tree_node> structures "
"are kernel-internal structures."
-msgstr ""
-"ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3) の第 4 引き数とし"
-"て指定される。"
+msgstr "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3) の第 4 引き数として指定される。 また、構造体 I<msg_msg> と I<posix_msg_tree_node> はカーネル内部の構造体である。"
#. type: Plain text
#: build/C/man2/getrlimit.2:285
-#, fuzzy
-#| msgid ""
-#| "The first addend in the formula, which includes I<sizeof(struct msg_msg\\ "
-#| "*)> (4 bytes on Linux/i386), ensures that the user cannot create an "
-#| "unlimited number of zero-length messages (such messages nevertheless each "
-#| "consume some system memory for bookkeeping overhead)."
msgid ""
"The \"overhead\" addend in the formula accounts for overhead bytes required "
"by the implementation and ensures that the user cannot create an unlimited "
"number of zero-length messages (such messages nevertheless each consume some "
"system memory for bookkeeping overhead)."
-msgstr ""
-"I<sizeof(struct msg_msg\\ *)> (Linux/i386 では 4 バイト) を含む最初の加数"
-"は、 ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このよ"
-"うなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
-"る)。"
+msgstr "上記の式での「オーバーヘッド」加算分は、実装において必要となるオーバーヘッドを考慮したものである。 また、これにより、ユーザーが長さ 0 のメッセージを無制限に作れないことが保証される (このようなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費する)。"
#. type: TP
#: build/C/man2/getrlimit.2:285
#: build/C/man3/group_member.3:25
#, no-wrap
msgid "GROUP_MEMBER"
-msgstr ""
+msgstr "GROUP_MEMBER"
#. type: TH
#: build/C/man3/group_member.3:25
#. type: Plain text
#: build/C/man3/group_member.3:28
msgid "group_member - test whether a process is in a group"
-msgstr ""
+msgstr "group_member - プロセスがグループに属しているかを検査する"
#. type: Plain text
#: build/C/man3/group_member.3:32
msgid ""
"The B<group_member>() function tests whether any of the caller's "
"supplementary group IDs (as returned by B<getgroups>(2)) matches I<gid>."
-msgstr ""
+msgstr "B<group_member>() 関数は、 呼び出し元の補助グループ ID (B<getgroups>(2) が返す値) のいずれかが I<gid> に一致するかを検索する。"
#. type: Plain text
#: build/C/man3/group_member.3:55
msgid ""
"The B<group_member>() function returns nonzero if any of the caller's "
"supplementary group IDs matches I<gid>, and zero otherwise."
-msgstr ""
+msgstr "B<group_member>() 関数は、 呼び出し元の補助グループ ID のいずれかが I<gid> に一致すれば 0 以外の値を、そうでなければ 0 を返す。"
#. type: Plain text
#: build/C/man3/group_member.3:57
msgid "This function is a nonstandard GNU extension."
-msgstr ""
+msgstr "この関数は非標準の GNU 拡張である。"
#. type: Plain text
#: build/C/man3/group_member.3:62
"I<Note>: there are cases where B<seteuid>() can fail even when the caller "
"is UID 0; it is a grave security error to omit checking for a failure return "
"from B<seteuid>()."
-msgstr ""
+msgstr "I<注意>: 呼び出し元が UID 0 であっても B<seteuid>() が失敗する場合がある。 B<seteuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。"
#. type: Plain text
#: build/C/man2/seteuid.2:83
msgid "The target user or group ID is not valid in this user namespace."
-msgstr ""
+msgstr "対象のユーザー ID かグループ ID がこのユーザー名前空間では有効ではない。"
#. type: Plain text
#: build/C/man2/seteuid.2:99
msgid ""
"On Linux, B<seteuid>() and B<setegid>() are implemented as library "
"functions that call, respectively, B<setreuid>(2) and B<setresgid>(2)."
-msgstr ""
+msgstr "Linux では、 B<seteuid>() と B<setegid>() は、それぞれ B<setreuid>(2) と B<setresgid>(2) を呼び出すライブラリ関数として実装されている。"
#. type: Plain text
#: build/C/man2/seteuid.2:149
#. type: Plain text
#: build/C/man2/setgid.2:64
msgid "The group ID specified in I<gid> is not valid in this user namespace."
-msgstr ""
+msgstr "I<gid> で指定されたグループ ID がこのユーザー名前空間では有効ではない。"
#. type: Plain text
#: build/C/man2/setgid.2:71
"I<Note>: there are cases where B<setresuid>() can fail even when the caller "
"is UID 0; it is a grave security error to omit checking for a failure return "
"from B<setresuid>()."
-msgstr ""
+msgstr "I<注意>: 呼び出し元が UID 0 であっても B<setresuid>() が失敗する場合がある。 B<setresuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。"
#. type: TP
#: build/C/man2/setresuid.2:77 build/C/man2/setresuid.2:84
"The call would change the caller's real UID (i.e., I<ruid> does not match "
"the caller's real UID), but there was a temporary failure allocating the "
"necessary kernel data structures."
-msgstr ""
+msgstr "この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 I<ruid> が呼び出し元の実 UID と一致していない)、 必要なカーネルのデータ構造体の割り当てで一時的な失敗があった。"
#. type: Plain text
#: build/C/man2/setresuid.2:99 build/C/man2/setreuid.2:128
"B<RLIMIT_NPROC> resource limit. Since Linux 3.1, this error case no longer "
"occurs (but robust applications should check for this error); see the "
"description of B<EAGAIN> in B<execve>(2)."
-msgstr ""
+msgstr "I<ruid> は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID I<ruid> に属するプロセス数が呼び出し元の B<RLIMIT_NPROC> リソース上限を超過するところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない (しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきである)。 B<execve>(2) の B<EAGAIN> の説明を参照。"
#. type: Plain text
#: build/C/man2/setresuid.2:103 build/C/man2/setreuid.2:132
msgid ""
"One or more of the target user or group IDs is not valid in this user "
"namespace."
-msgstr ""
+msgstr "対象のユーザー ID やグループ ID のうち 1 つ以上がこのユーザー名前空間で有効ではない。"
#. type: Plain text
#: build/C/man2/setresuid.2:107
"I<Note>: there are cases where B<setreuid>() can fail even when the caller "
"is UID 0; it is a grave security error to omit checking for a failure return "
"from B<setreuid>()."
-msgstr ""
+msgstr "I<注意>: 呼び出し元が UID 0 であっても B<setreuid>() が失敗する場合がある。 B<setreuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。"
#. type: Plain text
#: build/C/man2/setreuid.2:148
#. type: Plain text
#: build/C/man2/setsid.2:50
-#, fuzzy
-#| msgid ""
-#| "B<setsid>() creates a new session if the calling process is not a "
-#| "process group leader. The calling process is the leader of the new "
-#| "session, the process group leader of the new process group, and has no "
-#| "controlling terminal. The process group ID and session ID of the calling "
-#| "process are set to the PID of the calling process. The calling process "
-#| "will be the only process in this new process group and in this new "
-#| "session."
msgid ""
"B<setsid>() creates a new session if the calling process is not a process "
"group leader. The calling process is the leader of the new session (i.e., "
"its session ID is made the same as it process ID). The calling process also "
"becomes the process group leader of a new process group in the session (i."
"e., its process group ID is made the same as it process ID)."
-msgstr ""
-"B<setsid>() は呼び出したプロセスがプロセスグループ・リーダー (process group "
-"leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新しい"
-"セッションのリーダー、新しいプロセスグループの プロセスグループ・リーダーとな"
-"り、端末の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッショ"
-"ン ID には、 呼び出したプロセスの PID が設定される。呼び出したプロセスはこの "
-"新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。"
+msgstr "B<setsid>() は、 呼び出したプロセスがプロセスグループ・リーダー (process group leader) でなければ、 新しいセッションを作成する。 呼び出したプロセスは、 新しいセッションのリーダーとなる (すなわち、そのセッション ID がプロセス ID と同じ値になる)。 また、呼び出したプロセスは、 そのセッションの新しいプロセスグループのプロセスグループ・リーダーにもなる (すなわち、プロセスグループ ID がプロセス ID と同じ値になる)。"
#. type: Plain text
#: build/C/man2/setsid.2:54
msgid ""
"The calling process will be the only process in the new process group and in "
"the new session. The new session has no controlling terminal."
-msgstr ""
+msgstr "呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセスとなる。 新しいセッションは制御端末を持たない。"
#. type: Plain text
#: build/C/man2/setsid.2:61
"scenario would break the strict two-level hierarchy of sessions and process "
"groups. In order to be sure that B<setsid>() will succeed, B<fork>(2) and "
"B<_exit>(2), and have the child do B<setsid>()."
-msgstr ""
+msgstr "プロセスグループ・リーダーは、 プロセスグループ ID がその PID と同じ値のプロセスである。 プロセスグループ・リーダーが B<setsid>() を呼び出すことを許可しないと、 そのプロセスグループ内の他のプロセスを元のセッションに残したまま、 プロセスグループ・リーダーが自分自身を新しいセッションに入れるということができなくなる。 このようなシナリオは、 セッションとプロセスグループという厳密な 2 階層モデルを壊すことになる。 B<setsid>() が成功することを保証するには、 B<fork>(2) と B<_exit>(2) を行い、 その子プロセスに B<setsid>() をさせればよい。"
#. type: Plain text
#: build/C/man2/setsid.2:100
"I<Note>: there are cases where B<setuid>() can fail even when the caller is "
"UID 0; it is a grave security error to omit checking for a failure return "
"from B<setuid>()."
-msgstr ""
+msgstr "I<注意>: 呼び出し元が UID 0 であっても B<setuid>() が失敗する場合がある。 B<setuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。"
#. type: Plain text
#: build/C/man2/setuid.2:90
"The call would change the caller's real UID (i.e., I<uid> does not match the "
"caller's real UID), but there was a temporary failure allocating the "
"necessary kernel data structures."
-msgstr ""
+msgstr "この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 I<uid> が呼び出し元の実 UID と一致していない)、 必要なカーネルのデータ構造体の割り当てで一時的な失敗があった。"
#. type: Plain text
#: build/C/man2/setuid.2:105
"caller's B<RLIMIT_NPROC> resource limit. Since Linux 3.1, this error case "
"no longer occurs (but robust applications should check for this error); see "
"the description of B<EAGAIN> in B<execve>(2)."
-msgstr ""
+msgstr "I<uid> は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID I<ruid> に属するプロセス数が呼び出し元の B<RLIMIT_NPROC> リソース上限を超過するところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない (しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきである)。 B<execve>(2) の B<EAGAIN> の説明を参照。"
#. type: Plain text
#: build/C/man2/setuid.2:110
msgid "The user ID specified in I<uid> is not valid in this user namespace."
-msgstr ""
+msgstr "I<uid> で指定されたユーザー ID がこのユーザー名前空間では有効ではない。"
#. type: Plain text
#: build/C/man2/setuid.2:117
#: build/C/man7/svipc.7:331
#, no-wrap
msgid "IPC namespaces"
-msgstr ""
+msgstr "IPC 名前空間"
#. type: Plain text
#: build/C/man7/svipc.7:335
msgid ""
"For a discussion of the interaction of System V IPC objects and IPC "
"namespaces, see B<namespaces>(7)."
-msgstr ""
+msgstr "System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は B<namespaces>(7) を参照。"
#. type: Plain text
#: build/C/man7/svipc.7:353
#: build/C/man7/user_namespaces.7:27
#, no-wrap
msgid "USER_NAMESPACES"
-msgstr ""
+msgstr "USER_NAMESPACES"
#. type: Plain text
#: build/C/man7/user_namespaces.7:30
msgstr ""
"カーネルのソーフファイル I<Documentation/namespaces/resource-control.txt>"
-#~ msgid "2013-02-11"
-#~ msgstr "2013-02-11"
-
#~ msgid ""
#~ "A process group leader is a process with process group ID equal to its "
#~ "PID. In order to be sure that B<setsid>() will succeed, B<fork>(2) and "
# pagename,#complete,#remaining,#all
-capabilities.7,356,5,361
cpuset.7,102,212,314
-getpriority.2,41,3,44
-getrlimit.2,111,12,123
-group_member.3,16,5,21
+getrlimit.2,115,8,123
namespaces.7,56,35,91
pid_namespaces.7,19,35,54
-seteuid.2,33,4,37
-setgid.2,27,1,28
-setresuid.2,37,4,41
-setreuid.2,40,4,44
-setsid.2,23,3,26
-setuid.2,33,4,37
-svipc.7,93,2,95
-user_namespaces.7,66,102,168
+user_namespaces.7,67,101,168
<TR><TD>fanotify_init.2</TD><TD>46/77</TD><TD>40.26</TD></TR>
<TR><TD>fanotify_mark.2</TD><TD>51/100</TD><TD>49.00</TD></TR>
<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>process</B></TD></TR>
-<TR class="over80"><TD>capabilities.7</TD><TD>5/361</TD><TD>98.61</TD></TR>
<TR><TD>cpuset.7</TD><TD>212/314</TD><TD>32.48</TD></TR>
-<TR class="over80"><TD>getpriority.2</TD><TD>3/44</TD><TD>93.18</TD></TR>
-<TR class="over80"><TD>getrlimit.2</TD><TD>12/123</TD><TD>90.24</TD></TR>
-<TR class="over70"><TD>group_member.3</TD><TD>5/21</TD><TD>76.19</TD></TR>
+<TR class="over80"><TD>getrlimit.2</TD><TD>8/123</TD><TD>93.50</TD></TR>
<TR><TD>namespaces.7</TD><TD>35/91</TD><TD>61.54</TD></TR>
<TR><TD>pid_namespaces.7</TD><TD>35/54</TD><TD>35.19</TD></TR>
-<TR class="over80"><TD>seteuid.2</TD><TD>4/37</TD><TD>89.19</TD></TR>
-<TR class="over80"><TD>setgid.2</TD><TD>1/28</TD><TD>96.43</TD></TR>
-<TR class="over80"><TD>setresuid.2</TD><TD>4/41</TD><TD>90.24</TD></TR>
-<TR class="over80"><TD>setreuid.2</TD><TD>4/44</TD><TD>90.91</TD></TR>
-<TR class="over80"><TD>setsid.2</TD><TD>3/26</TD><TD>88.46</TD></TR>
-<TR class="over80"><TD>setuid.2</TD><TD>4/37</TD><TD>89.19</TD></TR>
-<TR class="over80"><TD>svipc.7</TD><TD>2/95</TD><TD>97.89</TD></TR>
-<TR><TD>user_namespaces.7</TD><TD>102/168</TD><TD>39.29</TD></TR>
+<TR><TD>user_namespaces.7</TD><TD>101/168</TD><TD>39.88</TD></TR>
<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>sched</B></TD></TR>
<TR class="over80"><TD>clone.2</TD><TD>20/214</TD><TD>90.65</TD></TR>
<TR class="over80"><TD>sched_setaffinity.2</TD><TD>1/45</TD><TD>97.78</TD></TR>
<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>unistd</B></TD></TR>
<TR class="over80"><TD>execve.2</TD><TD>6/173</TD><TD>96.53</TD></TR>
<TR class="over80"><TD>fcntl.2</TD><TD>46/241</TD><TD>80.91</TD></TR>
-<TR><TD COLSPAN=3>Total 115 pages</TD></TR>
+<TR><TD COLSPAN=3>Total 105 pages</TD></TR>
</TABLE>
</BODY></HTML>