Rechercher une page de manuel
seteuid
Langue: ja
Version: 2004-05-27 (mandriva - 01/05/08)
Section: 2 (Appels système)
名前
seteuid, setegid - 実効ユーザー ID と 実効グループ ID を設定する書式
#include <sys/types.h>#include <unistd.h>
int seteuid(uid_t euid);
int setegid(gid_t egid);
説明
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 では setresuid(-1, euid,-1) と同じなので、保存 set-user-ID を変更しない。 同様な注意点が setegid() にもある。
関連項目
geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre