other versions
other sections
GETGROUPS(2) | Linux Programmer's Manual | GETGROUPS(2) |
名前¶
getgroups, setgroups - 補助グループ ID のリストを取得/設定する書式¶
#include <sys/types.h>glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
説明¶
getgroups() は呼び出し元プロセスの補助グループ (supplementary group) ID を list に返す。 size 引き数には、 list により参照されるバッファに格納できる要素の最大数を設定すべきである。 呼び出し元プロセスが size 個より多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロセスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていない (したがって、アプリケーションは getegid(2) を呼び出し、その結果の値を追加・削除すべきである)。返り値¶
getgroups() は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を返し、 errno を適切に設定する。エラー¶
- EFAULT
- list が不正なアドレスである。
- EINVAL
- size が補助グループ ID の数より小さいが 0 でない。
- EINVAL
- size が NGROUPS_MAX より大きい ( NGROUPS_MAX は Linux 2.6.4 より前では 32、Linux 2.6.4 以降では 65536)。
- ENOMEM
- メモリ不足。
- EPERM
- 呼び出し元プロセスが十分な特権を持っていない。
準拠¶
SVr4, 4.3BSD. getgroups() 関数は POSIX.1-2001 に準拠している。 setgroups() は特権を必要とするため、POSIX.1-2001 に従っていない。注意¶
プロセスは、実効グループ ID に加え、最大 NGROUPS_MAX までの補助グループ ID を持つことができる。 補助グループ ID の集合は親プロセスから継承され、 execve(2) の前後で保持される。long ngroups_max; ngroups_max = sysconf(_SC_NGROUPS_MAX);getgroups() の返り値の最大値は、この値より 1 大きい値より大きくなることはない。
関連項目¶
getgid(2), setgid(2), getgrouplist(3), initgroups(3), capabilities(7), credentials(7)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2010-11-22 | Linux |