INITGROUPS(3)

名前
initgroups - 追加のグループアクセスリストの初期化

書式
#include <sys/types.h>
#include <grp.h>

int initgroups(const char *user, gid_t group);

    glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

initgroups():
    glibc 2.19 以降:
        _DEFAULT_SOURCE
    glibc 2.19 以前:
        _BSD_SOURCE

説明
initgroups() 関数はグループデータベース /etc/group を読み 込んで、user が所属している全てのグループを使って、グループアク セスリストを初期化する。さらに、group に示されるグループもグルー プアクセスリストに追加される。

user 引数は NULL であってはならない。

返り値
initgroups() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 errno を適切に設定する。

エラー

ENOMEM
    グループ情報構造体を配置するためのメモリーが不足している。

EPERM
    呼出しプロセスが十分な特権を持っていない。 この関数の裏で実行されるシステムコール setgroups(2) も参照のこと。

ファイル

/etc/group
    グループデータベースファイル

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
initgroups() | Thread safety | MT-Safe locale

準拠
SVr4, 4.3BSD.

関連項目
getgroups(2), setgroups(2), credentials(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。