GETGROUPS(2) Linux Programmer's Manual GETGROUPS(2) 名前 getgroups, setgroups - グループのアクセス・リストを設定/取得する 書式 #include <unistd.h> int getgroups(int size, gid_t list[]); #define __USE_BSD #include <grp.h> int setgroups(size_t size, const gid_t *list); 書式 getgroups 最大 size までの追加のグループ(group)を list に返す。 size がゼロならば、 list は修正されないが、そのプロセスの追加のグループの合計数が返される。 setgroups そのプロセスに追加のグループを設定する。スーパー・ユーザーのみが この関数を使用できる。 返り値 getgroups 成功した場合は list に格納されたグループの数が返される( size がゼロならばそのプロセスに関連した追加のグループ ID の数を返す)。 エラーの場合は -1 が返され、 errno が適切に設定される。 setgroups 成功した場合はゼロが返される。エラーならば -1 が返され、 errno が適切に設定される。 エラー EFAULT list が不正なアドレスである。 EPERM setgroups で、ユーザーがスーパー・ユーザーでない。 EINVAL setgroups で、 gidsetsize が NGROUPS (Linux 2.0.23 では 32) より大きい。 準拠 SVr4, SVID (4版のみ; SVr3 にはこれたのコールは存在しない), X/OPEN, 4.3BSD. getgroups は POSIX.1 に準拠している。 setgroups は特権を必要とするため、POSIX.1 に従っていない。 バグ __USE_BSD フラグは setgroups にはたぶん必要ないだろう。 関連項目 initgroups(3), Linux 0.99.11 23 July 1993 GETGROUPS(2)