setegidのヘルプ・マニュアル
日本語 英語
setegid --help
man setegid
SETEUID(2) Linux Programmer’s Manual SETEUID(2)
名前
seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する
書式
#include
#include
int seteuid(uid_t euid);
int setegid(gid_t egid);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
seteuid(), setegid(): _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L ||
_XOPEN_SOURCE >= 600
説明
seteuid() は呼び出し元のプロセスの実効ユーザー ID を設定する。非特権 ユ
ーザーのプロセスが実効ユーザー ID に設定できるのは、実ユーザー ID・実効
ユーザー ID・保存 set-user-ID のいずれかだけである。
setegid() は「ユーザー」ではなく「グループ」に対して全く同じことを行 う
。
返り値
成 功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切
に設定される。
エラー
EPERM 呼び出し元のプロセスに特権がなく (Linux では seteuid() の場合 に
CAP_SETUID ケーパビリティ (capability) がなく、 setegid() の場合
に CAP_SETGID ケーパビリティがない)、 euid (または egid) が実 ユ
ーザー (グループ) ID、または実効ユーザー (グループ) ID、または保
存 set-user-ID (保存 set-group-ID) ではない。
準拠
4.3BSD, POSIX.1-2001.
注意
実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設
定 することが、Linux 1.1.37 (1.1.38) から可能になった。全てのシステムに
おいて _POSIX_SAVED_IDS をチェックすべきである。
libc4, libc5, glibc 2.0 では seteuid(euid) は setreuid(-1, euid) と同じ
なので、保存 set-user-ID を変更するかもしれない。 glibc 2.1 では setre-
suid(-1, euid, -1) と同じなので、保存 set-user-ID を変更しない。同様 の
ことが setegid() にも言える。
関連項目
geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), cre-
dentials(7)
Linux 2007-07-26 SETEUID(2)
SETEUID(2) Linux Programmer’s Manual SETEUID(2)
NAME
seteuid, setegid - set effective user or group ID
SYNOPSIS
#include
#include
int seteuid(uid_t euid);
int setegid(gid_t egid);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
seteuid(), setegid(): _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L ||
_XOPEN_SOURCE >= 600
DESCRIPTION
seteuid() sets the effective user ID of the calling process. Unprivi-
leged user processes may only set the effective user ID to the real
user ID, the effective user ID or the saved set-user-ID.
Precisely the same holds for setegid() with "group" instead of "user".
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is
set appropriately.
ERRORS
EPERM The calling process is not privileged (Linux: does not have the
CAP_SETUID capability in the case of seteuid(), or the CAP_SET-
GID capability in the case of setegid()) and euid (respectively,
egid) is not the real user (group) ID, the effective user
(group) ID, or the saved set-user-ID (saved set-group-ID).
CONFORMING TO
4.3BSD, POSIX.1-2001.
NOTES
Setting the effective user (group) ID to the saved set-user-ID (saved
set-group-ID) is possible since Linux 1.1.37 (1.1.38). On an arbitrary
system one should check _POSIX_SAVED_IDS.
Under libc4, libc5 and glibc 2.0 seteuid(euid) is equivalent to
setreuid(-1, euid) and hence may change the saved set-user-ID. Under
glibc 2.1 and later it is equivalent to setresuid(-1, euid, -1) and
hence does not change the saved set-user-ID. Similar remarks hold for
setegid().
SEE ALSO
geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), cre-
dentials(7)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2007-07-26 SETEUID(2)