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.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。