SIMPLE SOLUTIONS

GETRESUID(2) - Linux manual

実、実効、保存、ユーザー ID / グループ ID を取得する.

2010-11-22
GETRESUID(2) Linux Programmer's Manual GETRESUID(2)

getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する

#define _GNU_SOURCE /* feature_test_macros(7) 参照 */ #include <unistd.h> int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);

getresuid() は、呼び出したプロセスの実 (real) UID、実効 (effective) UID、 保存 (saved) set-user-ID (getresgid の場合はグループ ID) を、 それぞれ引き数 ruid, euid, suid に格納して返す。 getresgid() は、呼び出したプロセスのグループ ID について同様の処理を行う。

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

EFAULT 指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスである。

これらのシステムコールはカーネル 2.1.44 から Linux に登場した。 プロトタイプ宣言は 2.3.2 以降の glibc では _GNU_SOURCE を定義していると得られる。

これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。

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

getuid(2), setresuid(2), setreuid(2), setuid(2), credentials(7)

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
Linux 2010-11-22 GETRESUID(2)
getresuid(2).txt (日本語 / Japanese)
Index English version of getresuid(2)
Go top