seteuid

Autres langues

Langue: ja

Version: 2004-05-27 (openSuse - 09/10/07)

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)