getgroups

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)