INITGROUPS(3) |
FreeBSD Library Functions Manual |
INITGROUPS(3) |
名称
initgroups —
グループアクセスリストを初期化する
ライブラリ
Standard C Library (libc, -lc)
書式
#include < unistd.h>
int
initgroups( const char *name, gid_t basegid);
解説
initgroups() 関数は、
name で指定されるユーザのためのグループアクセスリストを計算するために
getgrouplist(3) 関数を使用します。次に、このグループリストは、
setgroups(2) を使用して現在のプロセスのためにセットアップされます。
basegid は、自動的にグループリストに含まれます。通常、この値は、パスワードファイルからグループ番号として与えられます。
戻り値
The
initgroups() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable
errno is set to indicate the error.
エラー
initgroups() 関数は、失敗し、ライブラリ関数
setgroups(2) のための指定されたエラーのいずれかのために
errno を設定します。また、次を返すかもしれません:
-
[
ENOMEM]
-
initgroups() 関数が、一時的な記憶域を割り付けることができませんでした。
歴史
initgroups() 関数は、
4.2BSD で登場しました。
バグ
getgrouplist() 関数は、
getgrent(3) に基づいたルーチンを使用する
initgroups() によって呼び出されます。呼び出しているプログラムが、これらのルーチンのいずれかを使用するなら、グループ構造は、
initgroups() への呼び出しで上書きされます。