SETFSGID(2) | Linux Programmer's Manual | SETFSGID(2) |
名前
setfsgid -ファイルシステムのチェックに用いられるグループ ID を設定する書式
#include <unistd.h> /* glibc では <sys/fsuid.h> */説明
システムコール setfsgid() は Linux カーネルがファイルシステムに対する全てのアクセスのチェックに使用するグループ IDを設定する。通常は fsgid の値は実効 (effective) グループID と同じになる。実際、実効グループ ID が変更される度に fsgid もまた新しい実効グループID の値に変更される。返り値
成功した場合、 fsgid の以前の値を返す。エラーの場合は fsgid の現在の値を返す。バージョン
このシステムコールはバージョン 1.2 以降の Linux に存在する。準拠
setfsgid() は Linux 特有であり、移植を想定したプログラムで使用してはいけない。注意
glibc が引き数がグループID として不正だと判断した場合は、システムコールを行わず errno に EINVAL を設定して-1 が返される。このシステムコールが導入された当時、プロセスは同じ実効ユーザIDのプロセスへシグナルを送ることができた。今日では、シグナル送信権限の扱いはかなり違うものになっている。
元々の Linux の setfsgid() システムコールは 16 ビットのグループ ID だけに対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した setfsgid32() が追加された。 glibc の setfsgid() のラッパー関数はカーネルバージョンによるこの違いを吸収している。
バグ
いかなる種類のエラーメッセージも返さない。失敗した場合は (呼び出し元には CAP_SETGID ケーパビリティがなかったのだから) 最低でも EPERM くらいは返すべきである。関連項目
kill(2), setfsuid(2), capabilities(7), credentials(7)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2010-11-22 | Linux |