OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man2 / setresuid.2
index a9b9e64..cecf2fa 100644 (file)
 .\" Updated & Modified 2005-09-03, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated & Modified 2005-11-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
-.\"WORD:       effective user ID       ¼Â¸ú¥æ¡¼¥¶¡¼ID
-.\"WORD:       real user ID            ¼Â¥æ¡¼¥¶¡¼ID
-.\"WORD:       saved set-user-ID       Êݸ¥»¥Ã¥È¥æ¡¼¥¶¡¼ID
-.\"WORD:       effective group ID      ¼Â¸ú¥°¥ë¡¼¥×ID
-.\"WORD:       real group ID           ¼Â¥°¥ë¡¼¥×ID
-.\"WORD:       saved group ID          Êݸ¥°¥ë¡¼¥×ID
+.\"WORD:       effective user ID       å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD:       real user ID            å®\9fã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD:       saved set-user-ID       ä¿\9då­\98ã\82»ã\83\83ã\83\88ã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD:       effective group ID      実効グループID
+.\"WORD:       real group ID           実グループID
+.\"WORD:       saved group ID          保存グループID
 .\"
 .TH SETRESUID 2 2007-07-26 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-setresuid, setresgid \- ¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤Î ¼Â¡¢¼Â¸ú¡¢Êݸ ID ¤òÀßÄꤹ¤ë
-.SH ½ñ¼°
-.BR "#define _GNU_SOURCE" "         /* feature_test_macros(7) »²¾È */"
+.SH 名前
+setresuid, setresgid \- ユーザやグループの 実、実効、保存 ID を設定する
+.SH 書式
+.BR "#define _GNU_SOURCE" "         /* feature_test_macros(7) 参照 */"
 .br
 .B #include <unistd.h>
 .sp
 .BI "int setresuid(uid_t " ruid ", uid_t " euid ", uid_t " suid );
 .br
 .BI "int setresgid(gid_t " rgid ", gid_t " egid ", gid_t " sgid );
-.SH ÀâÌÀ
+.SH 説明
 .BR setresuid ()
-¤Ï¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â (real) ¥æ¡¼¥¶¡¼ID¡¢¼Â¸ú (effective) ¥æ¡¼¥¶¡¼ID¡¢
-Êݸ set-user-ID ¤òÀßÄꤹ¤ë¡£
+は呼び出し元のプロセスの実 (real) ユーザーID、実効 (effective) ユーザーID、
+保存 set-user-ID を設定する。
 
-ÈóÆø¢¥æ¡¼¥¶¡¼¤Î¥×¥í¥»¥¹¤Ï¡¢¤½¤Î¼Â UID¡¢¼Â¸ú UID¡¢Êݸ set-user-ID ¤ò¡¢
-¸½ºß¤Î¼Â UID¡¢¸½ºß¤Î¼Â¸ú UID¡¢¸½ºß¤ÎÊݸ set-user-ID
-¤Î¤É¤ì¤«¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë:
+非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、
+現在の実 UID、現在の実効 UID、現在の保存 set-user-ID
+のどれかに変更することができる:
 
-Æø¢¥×¥í¥»¥¹ (Linux ¤Ç¤Ï \fBCAP_SETUID\fP ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤ò»ý¤Ä
-¥×¥í¥»¥¹) ¤Ï¡¢¼Â UID¡¢¼Â¸ú UID¡¢Êݸ set-user-ID ¤òǤ°Õ¤ÎÃͤËÀßÄê¤Ç¤­¤ë¡£
+特権プロセス (Linux では \fBCAP_SETUID\fP ケーパビリティ (capability) を持つ
+プロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。
 
-°ú¤­¿ô¤Î¤É¤ì¤«¤¬ \-1 ¤Î¾ì¹ç¤Ï¤½¤ÎÃͤÏÊѹ¹¤µ¤ì¤º¤Ë»Ä¤µ¤ì¤ë¡£
+引き数のどれかが \-1 の場合はその値は変更されずに残される。
 
-¼Â UID¡¢¼Â¸ú UID¡¢Êݸ set-user-ID ¤Ë¤É¤ó¤ÊÊѹ¹¤¬¹Ô¤ï¤ì¤¿¤«¤Ë´Ø¤ï¤é¤º¡¢
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à UID ¤Ï¾ï¤Ë¼Â¸ú UID (²Äǽ¤Ç¤¢¤ì¤ÐÊѹ¹¸å¤Î¿·¤·¤¤¼Â¸ú UID)
-¤ÈƱ¤¸ÃͤËÀßÄꤵ¤ì¤ë¡£
+実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、
+ファイルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)
+と同じ値に設定される。
 
-Á´¤¯Æ±¤¸¤è¤¦¤Ë¡¢
+全く同じように、
 .BR setresgid ()
-¤Ï¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â GID¡¢¼Â¸ú GID¡¢Êݸ set-group-ID ¤òÀßÄꤹ¤ë
-(¤µ¤é¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à GID ¤ò¼Â¸ú GID ¤ÈƱ¤¸Ãͤ˽¤Àµ¤¹¤ë)¡£
-ÈóÆø¢¥×¥í¥»¥¹¤ÏƱÍͤÎÀ©¸Â¤ò¼õ¤±¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
+は呼び出し元のプロセスの実 GID、実効 GID、保存 set-group-ID を設定する
+(さらにファイルシステム GID を実効 GID と同じ値に修正する)。
+非特権プロセスは同様の制限を受ける。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EAGAIN
 .I uid
-¤¬¸½ºß¤Î¥æ¡¼¥¶¡¼ ID ¤È°ã¤¦Ãͤǡ¢
-¤³¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤ê ¥æ¡¼¥¶¡¼ ID ¤¬
-¥ê¥½¡¼¥¹¾å¸Â
+が現在のユーザー ID と違う値で、
+この呼び出しにより ユーザー ID が
+リソース上限
 .B RLIMIT_NPROC
-¤òĶ¤¨¤Æ¤·¤Þ¤¦¡£
+を超えてしまう。
 .TP
 .B EPERM
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬Æø¢¤ò»ý¤¿¤Ê¤¤¤Î¤Ë
-(\fBCAP_SETUID\fP ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤¤Î¤Ë)¡¢
-ID ¤òµö¤µ¤ì¤Æ¤¤¤Ê¤¤ÃͤËÊѹ¹¤·¤è¤¦¤È¤·¤¿¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
-Linux ¤Ç¤Ï¥Ð¡¼¥¸¥ç¥ó 2.1.44 ¤è¤êÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿¡£
-.SH ½àµò
-¤³¤ì¤é¤Î¥³¡¼¥ë¤ÏÈóɸ½à¤Ç¤¢¤ë¡£
-HP-UX ¤ä BSD ·Ï¤Î¤¤¤¯¤Ä¤«¤Ë¤â¸ºß¤¹¤ë¡£
-.SH Ãí°Õ
-HP-UX ¤ä FreeBSD ¤Ç¤Ï
+呼び出したプロセスが特権を持たないのに
+(\fBCAP_SETUID\fP ケーパビリティを持たないのに)、
+ID を許されていない値に変更しようとした。
+.SH バージョン
+Linux ではバージョン 2.1.44 より利用可能になった。
+.SH 準拠
+これらのコールは非標準である。
+HP-UX や BSD 系のいくつかにも存在する。
+.SH 注意
+HP-UX や FreeBSD では
 .I <unistd.h>
-¤Ë¥×¥í¥È¥¿¥¤¥×¤¬Â¸ºß¤¹¤ë¡£
-Linux ¤Ç¤Ï¡¢glibc 2.3.2 °Ê¹ß¤Ç
-¥×¥í¥È¥¿¥¤¥×¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+にプロトタイプが存在する。
+Linux では、glibc 2.3.2 以降で
+プロトタイプが提供されている。
+.SH 関連項目
 .BR getresuid (2),
 .BR getuid (2),
 .BR setfsgid (2),