INITGROUPS(3)

名称
initgroups - グループ・アクセス・リストを初期化します。

書式
#include <unistd.h> int initgroups(const char *name, int basegid)

解説
initgroups() 関数は、 name で指定されるユーザのために getgrouplist(3) 関数を使ってグループ・アクセス・リストを計算します。その後、グループ・リストは setgroups(2) を使い現行プロセス用に設定されます。 basegid は自動的に グループ・リストに含まれます。この値はパスワード・ファイスから グループ番号として与えられるのが一般的です。

戻り値
initgroups() 関数はスーパーユーザ以外が起動したとき、 -1 を戻します。

関連項目
setgroups(2), getgrouplist(3)

歴史
initgroups() 関数は 4.2BSD で取り入れられました。

バグ
initgroups() から呼び出される getgrouplist() 関数は getgrent(3) に基づく ルーチンを使用します。このルーチンの中から起動プログラムがどのルーチンを 使用しても、グループ構造は initgroups() の呼出し中に上書きされます。