OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / getgroups.2
index 396b4a9..df99d99 100644 (file)
@@ -42,7 +42,7 @@
 .\" Updated 2008-08-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
 .\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH GETGROUPS 2 2010\-11\-22 Linux "Linux Programmer's Manual"
+.TH GETGROUPS 2 2014\-08\-19 Linux "Linux Programmer's Manual"
 .SH 名前
 getgroups, setgroups \- 補助グループ ID のリストを取得/設定する
 .SH 書式
@@ -64,17 +64,17 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .SH 説明
 .PP
 \fBgetgroups\fP()  は呼び出し元プロセスの補助グループ (supplementary group) ID を \fIlist\fP に返す。
-\fIsize\fP å¼\95ã\81\8dæ\95°ã\81«ã\81¯ã\80\81 \fIlist\fP ã\81«ã\82\88ã\82\8aå\8f\82ç\85§ã\81\95ã\82\8cã\82\8bã\83\90ã\83\83ã\83\95ã\82¡ã\81«æ ¼ç´\8dã\81§ã\81\8dã\82\8bè¦\81ç´ ã\81®æ\9c\80大æ\95°ã\82\92設å®\9aã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82 å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81\8c \fIsize\fP
-個より多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロセスの実効グループ ID が、
+\fIsize\fP å¼\95ã\81\8dæ\95°ã\81«ã\81¯ã\80\81 \fIlist\fP ã\81«ã\82\88ã\82\8aå\8f\82ç\85§ã\81\95ã\82\8cã\82\8bã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8dã\81§ã\81\8dã\82\8bè¦\81ç´ ã\81®æ\9c\80大æ\95°ã\82\92設å®\9aã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82 å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹ã\81\8c
+\fIsize\fP 個より多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロセスの実効グループ ID が、
 返されるリストに含まれるかどうかは規定されていない (したがって、アプリケーションは \fBgetegid\fP(2)
 を呼び出し、その結果の値を追加・削除すべきである)。
 
 \fIsize\fP が 0 ならば、 \fIlist\fP は修正されないが、そのプロセスの補助グループ ID の合計数が返される。 これを使うことで、それ以降の
-\fBgetgroups\fP()  の呼び出しで必要となる動的割り当てバッファ \fIlist\fP のサイズを、呼び出し元が決定することができる。
+\fBgetgroups\fP()  の呼び出しで必要となる動的割り当てバッファ \fIlist\fP のサイズを、呼び出し元が決定することができる。
 .PP
 \fBsetgroups\fP()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特権 (Linux では \fBCAP_SETGID\fP
 ケーパビリティ (capability)) が必要である。 \fIsize\fP 引き数には、 \fIlist\fP
-により参照されるバッファに格納された補助グループ ID の数を指定する。
\81«ã\82\88ã\82\8aå\8f\82ç\85§ã\81\95ã\82\8cã\82\8bã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8dã\81\95ã\82\8cã\81\9fè£\9cå\8a©ã\82°ã\83«ã\83¼ã\83\97 ID ã\81®æ\95°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82
 .SH 返り値
 \fBgetgroups\fP()  は、成功すると補助グループ ID の数を返す。 エラーの場合 \-1 を返し、 \fIerrno\fP を適切に設定する。
 
@@ -96,7 +96,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 2.6.4 以降では 65536)。
 .TP 
 \fBENOMEM\fP
-メモリ不足。
+メモリ不足。
 .TP 
 \fBEPERM\fP
 呼び出し元プロセスが十分な特権を持っていない。
@@ -104,26 +104,28 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 SVr4, 4.3BSD.  \fBgetgroups\fP()  関数は POSIX.1\-2001 に準拠している。 \fBsetgroups\fP()
 は特権を必要とするため、POSIX.1\-2001 に従っていない。
 .SH 注意
-プロセスは、実効グループ ID に加え、最大 \fBNGROUPS_MAX\fP までの補助グループ ID を持つことができる。 補助グループ ID
-の集合は親プロセスから継承され、 \fBexecve\fP(2)  の前後で保持される。
+プロセスは、実効グループ ID に加え、最大 \fBNGROUPS_MAX\fP までの補助グループ ID を持つことができる。 定数
+\fBNGROUPS_MAX\fP は \fI<limits.h>\fP で定義されている。 補助グループ ID の集合は親プロセスから継承され、
+\fBexecve\fP(2)  の前後で保持される。
 
-補助グループ ID の最大数は \fBsysconf\fP(3)  を使って以下のようにして調べることができる:
+補助グループ ID の最大数は、実行時に \fBsysconf\fP(3)  を使って以下のようにして調べることができる:
 .nf
 
     long ngroups_max;
     ngroups_max = sysconf(_SC_NGROUPS_MAX);
 
 .fi
-\fBgetgroups\fP()  の返り値の最大値は、この値より 1 大きい値より大きくなることはない。
+\fBgetgroups\fP() の返り値の最大値は、この値より大きくなることはない。 Linux 2.6.4 以降では、補助グループ ID の最大数も
+Linux 固有の読み込み専用のファイル \fI/proc/sys/kernel/ngroups_max\fP 経由で公開されている。
 
 元々の Linux の \fBgetgroups\fP() システムコールは 16 ビットのグループ ID だけ
 に対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した
 \fBgetgroups\fP() が追加された。glibc の \fBgetgroups\fP のラッパー関数はカーネル
 バージョンによるこの違いを吸収している。
 .SH 関連項目
-\fBgetgid\fP(2), \fBsetgid\fP(2), \fBgetgrouplist\fP(3), \fBinitgroups\fP(3),
-\fBcapabilities\fP(7), \fBcredentials\fP(7)
+\fBgetgid\fP(2), \fBsetgid\fP(2), \fBgetgrouplist\fP(3), \fBgroup_member\fP(3),
+\fBinitgroups\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。