OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / draft / man2 / seteuid.2
index 5974de4..4fb3e4f 100644 (file)
@@ -39,7 +39,7 @@
 .\" Updated 2010-04-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
 .\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH SETEUID 2 2012\-07\-02 Linux "Linux Programmer's Manual"
+.TH SETEUID 2 2014\-09\-21 Linux "Linux Programmer's Manual"
 .SH 名前
 seteuid, setegid \- 実効ユーザー ID や 実効グループ ID を設定する
 .SH 書式
@@ -73,9 +73,13 @@ _BSD_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600
 \fBsetegid\fP()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。
 .SH 返り値
 成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBseteuid\fP() が失敗する場合がある。 \fBseteuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
 .SH エラー
-.\" .TP
-.\" .B EINVAL
+.TP 
+\fBEINVAL\fP
+対象のユーザー ID かグループ ID がこのユーザー名前空間では有効ではない。
 .TP 
 \fBEPERM\fP
 呼び出し元のプロセスに特権がなく、 \fIeuid\fP (\fIegid\fP)  が実ユーザー (グループ) ID、または実効ユーザー (グループ) ID、
@@ -88,20 +92,22 @@ _BSD_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600
 実効ユーザー (グループ) ID を保存 set\-user\-ID (保存 set\-group\-ID) に 設定できるのは、Linux 1.1.37
 (1.1.38) 以降である。 全てのシステムにおいて \fB_POSIX_SAVED_IDS\fP をチェックすべきである。
 .LP
-libc4, libc5, glibc 2.0 では、 \fBseteuid(\fP\fIeuid\fP\fB)\fP は \fBsetreuid(\-1,\fP\fI
-euid\fP\fB)\fP と等価であり、保存 set\-user\-ID を変更するかもしれない。 glibc 2.1 では、
-\fBsetresuid(\-1,\fP\fI euid\fP\fB, \-1)\fP と等価であり、保存 set\-user\-ID 変更しない。 同様のことが
-\fBsetegid\fP() にも言えるが、 glibc 2.2 か 2.3 で、 実装が \fBsetregid(\-1,\fP\fI egid\fP\fB)\fP から
-\fBsetresgid(\-1,\fP\fI egid\fP\fB, \-1)\fP へ変更された点だけが違う (どの glibc
-バージョンで変更が行われたかは、ハードウェアアーキテクチャによって異なる)。
+glibc 2.0 では、 \fBseteuid(\fP\fIeuid\fP\fB)\fP は \fBsetreuid(\-1,\fP\fI euid\fP\fB)\fP と等価であり、保存
+set\-user\-ID を変更するかもしれない。 glibc 2.1 では、 \fBsetresuid(\-1,\fP\fI euid\fP\fB, \-1)\fP
+と等価であり、保存 set\-user\-ID 変更しない。 同様のことが \fBsetegid\fP() にも言えるが、 glibc 2.2 か 2.3 で、
+実装が \fBsetregid(\-1,\fP\fI egid\fP\fB)\fP から \fBsetresgid(\-1,\fP\fI egid\fP\fB, \-1)\fP
+へ変更された点だけが違う (どの glibc バージョンで変更が行われたかは、ハードウェアアーキテクチャーによって異なる)。
 
-POSIX.1 では、 \fBseteuid\fP()  (\fBsetegid\fP())  で、 \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザ
-(グループ) ID と同じ値を指定可能である 必要はないとされており、いくつかの実装では \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザ
+POSIX.1 では、 \fBseteuid\fP()  (\fBsetegid\fP())  で、 \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザ
+(グループ) ID と同じ値を指定可能である 必要はないとされており、いくつかの実装では \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザ
 (グループ) ID と同じ値を 指定することができない。
+.SS "C ライブラリとカーネル ABI の違い"
+Linux では、 \fBseteuid\fP() と \fBsetegid\fP() は、それぞれ \fBsetreuid\fP(2) と
+\fBsetresgid\fP(2) を呼び出すライブラリ関数として実装されている。
 .SH 関連項目
 \fBgeteuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2),
-\fBcapabilities\fP(7), \fBcredentials\fP(7)
+\fBcapabilities\fP(7), \fBcredentials\fP(7), \fBuser_namespaces\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。