Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all bug

名前

       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 に 安全な方法で再び戻すことを許す。

返り値

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

エラー

       EINVAL gid で指定されたグループ ID がこのユーザー名前空間では有効ではない。

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

準拠

       SVr4, POSIX.1-2001.

注意

       元々の  Linux  の setgid() システムコールは 16 ビットのグループ ID だけに対応していた。 その後、Linux 2.4
       で、32 ビットの ID に対応した setgid32() が追加された。 glibc の setgid()  のラッパー関数は  カーネルバー
       ジョンによるこの違いを吸収している。

関連項目

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

この文書について

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