Manpages

名 前

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/ に 書 か れ て い る 。