setgid

Autres langues

Langue: ja

Autres versions - même langue

Version: 2002-03-09 (fedora - 25/11/07)

Section: 2 (Appels système)

名前

setgid - グループ識別(identity)を設定する

書式

#include <sys/types.h>
#include <unistd.h>

int setgid(gid_t gid);

説明

setgid() は現在のプロセスの実効 (effective) グループID を設定する。 もしスーパー・ユーザーによって呼び出された場合は、 実 (real) グループID と保存 (saved) set-group-ID も設定される。

Linux において、 setgid() は _POSIX_SAVED_IDS をもった POSIX 版のように実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそのグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID に 安全な方法で再び戻すことを許す。

返り値

成功した場合はゼロが返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

EPERM
呼び出し元のプロセスに権限がなく (CAP_SETGID ケーパビリティがなく)、かつ gid が呼び出し元のプロセスの実効グループID と保存セットグループID のどちらとも一致しない。

準拠

SVr4, POSIX.1-2001.

関連項目

getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7)