Rechercher une page de manuel
setuid
Langue: ja
Version: 2004-05-27 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
setuid - ¥æ¡¼¥¶¡¼¼±ÊÌ (identity) ¤òÀßÄꤹ¤ë½ñ¼°
#include <sys/types.h>#include <unistd.h>
int setuid(uid_t uid);
ÀâÌÀ
setuid() ¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶¡¼ ID ¤òÀßÄꤹ¤ë¡£ ¤â¤·¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â¸ú UID ¤¬ root ¤Ê¤é¤Ð¡¢ ¼Â (real) UID ¤ÈÊݸ (saved) set-user-ID ¤âÀßÄꤵ¤ì¤ë¡£Linux ¤Ç¤Ï¡¢ setuid() ¤Ï _POSIX_SAVED_IDS ¤ò¤â¤Ã¤¿ POSIX ÈǤΤ褦¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤Ï (¥ë¡¼¥È°Ê³°¤Î) set-user-ID ¥×¥í¥°¥é¥à¤Ë¤½¤Î¥æ¡¼¥¶¡¼¤ÎÆø¢¤ò Á´¤ÆÍ¿¤¨¡¢Æø¢¤ÎɬÍפʤ¤»Å»ö¤ò¤·¡¢ËÜÍè¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤Ë °ÂÁ´¤ÊÊýË¡¤ÇºÆ¤ÓÌ᤹¤³¤È¤òµö¤¹¡£
¥æ¡¼¥¶¡¼¤¬¥ë¡¼¥È (root) ¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¤¬¥ë¡¼¥È¤Ë set-user-ID ¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ ÆÃÊ̤ÎÃí°Õ¤¬Ê§¤ï¤ì¤ë¡£ setuid() ´Ø¿ô¤Ï¸Æ¤Ó½Ð¤·¼Ô¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤ò¥Á¥§¥Ã¥¯¤·¡¢ ¤½¤ì¤¬¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Ê¤é¤Ð¡¢ ¥×¥í¥»¥¹¤Ë´ØÏ¢¤¹¤ëÁ´¤Æ¤Î¥æ¡¼¥¶¡¼ ID ¤Ë uid ¤òÀßÄꤹ¤ë¡£ ¤³¤ì¤¬¹Ô¤Ê¤ï¤ì¤¿¸å¤Ë¤Ï¥×¥í¥°¥é¥à¤¬ºÆ¤Ó¥ë¡¼¥È¤ÎÆø¢¤òÆÀ¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£
¤³¤Î¤è¤¦¤Ë¡¢set-user-ID-root ¥×¥í¥°¥é¥à¤Ï°ì»þŪ¤Ë¥ë¡¼¥ÈÆø¢¤òÍ¿¤¨¡¢ ¥ë¡¼¥È¤Ç¤Ê¤¤¤è¤¦¤Ë¿¶Éñ¤¦¤³¤È¤¬¤Ç¤¡¢¤½¤ì¤«¤é setuid() ¤ò»È¤Ã¤ÆºÆ¤Ó¥ë¡¼¥ÈÆø¢¤òÆÀ¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ (POSIX ¤Ç¤Ê¤¤¡¢BSD) ¥³¡¼¥ë¤Ï seteuid(2) ¤Ç¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤¤ë¡£
ÊÖ¤êÃÍ
À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£¥¨¥é¡¼
- EAGAIN
- uid ¤¬¸½ºß¤Î¥æ¡¼¥¶¡¼ ID ¤È¥Þ¥Ã¥Á¤»¤º¡¢¤³¤Î uid ¤Ë¤è¤Ã¤Æ¥×¥í¥»¥¹¤¬ NPROC rlimit ¤òĶ¤¨¤¿¡£
- EPERM
- ¥æ¡¼¥¶¡¼¤¬Æø¢¤ò»ý¤¿¤º (Linux ¤Ç¤Ï CAP_SETUID ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤¿¤º)¡¢ uid ¤¬¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â UID ¤Þ¤¿¤ÏÊݸ set-user-ID ¤È°ìÃפ·¤Ê¤¤¡£
½àµò
SVr4, POSIX.1-2001. 4.4BSD ¤Î¥³¡¼¥ë¤È¤Ï´°Á´¤Ê¸ß´¹À¤Ï¤Ê¤¤¡¢ BSD ¤Î¥³¡¼¥ë¤Ï¼Â (real)¡¢Êݸ (saved)¡¢¼Â¸ú (effective) ID ¤ÎÁ´¤Æ¤òÀßÄꤹ¤ë¡£Ãí°Õ
Linux ¤Ç¤ÎÃí°Õ
Linux ¤Ï¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¡¦¥æ¡¼¥¶¡¼ ID ¤Î³µÇ°¤ò»ý¤Ä¡£ Ä̾¤³¤ì¤Ï¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤ËÅù¤·¤¤¡£ setuid() ¥³¡¼¥ë¤Ï¸½ºß¤Î¥×¥í¥»¥¹¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¡¦¥æ¡¼¥¶¡¼ ID ¤âÀßÄꤹ¤ë¡£ setfsuid(2) ¤â»²¾È¤¹¤ë¤³¤È¡£uid ¤¬ÀΤμ¸ú uid ¤È°Û¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥×¥í¥»¥¹¤Ï¥³¥¢¡¦¥À¥ó¥×¤¹¤ë¤³¤È¤ò ¶Ø»ß¤µ¤ì¤ë¡£
´ØÏ¢¹àÌÜ
getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre