OSDN Git Service

(split) LDP: Update draft and release (from the previous commit)
[linuxjm/LDP_man-pages.git] / draft / man2 / setfsuid.2
index 4a1976d..a0452d9 100644 (file)
@@ -75,19 +75,13 @@ Linux カーネルが使用するユーザ ID \(em の値を変更する。通
 glibc が引き数がユーザID として不正だと判断した場合は、 システムコールを行わず \fIerrno\fP に \fBEINVAL\fP を設定して \-1
 が返される。
 .LP
-At the time when this system call was introduced, one process could send a
-signal to another process with the same effective user ID.  This meant that
-if a privileged process changed its effective user ID for the purpose of
-file permission checking, then it could become vulnerable to receiving
-signals sent by another (unprivileged) process with the same user ID.  The
-filesystem user ID attribute was thus added to allow a process to change its
-user ID for the purposes of file permission checking without at the same
-time becoming vulnerable to receiving unwanted signals.  Since Linux 2.0,
-signal permission handling is different (see \fBkill\fP(2)), with the result
-that a process change can change its effective user ID without being
-vulnerable to receiving signals from unwanted processes.  Thus,
-\fBsetfsuid\fP()  is nowadays unneeded and should be avoided in new
-applications (likewise for \fBsetfsgid\fP(2)).
+このシステムコールが導入された当時、 あるプロセスは同じ実効ユーザー ID を持つ別のプロセスにシグナルを送信できた。 これは、
+特権プロセスがファイルのアクセス許可をチェックするために自身の実効ユーザー ID を変更すると、 同じユーザー ID を持つ別の (非特権)
+プロセスが送信したシグナルを受け取るようになってしまうことを意味する。そのため、 プロセスが、 受け取りたくないシグナルを受信する状態にならずに、
+ファイルのアクセス許可をチェックするために自身のユーザー ID を変更できるように、 ファイルシステムユーザー ID 属性が追加された。 Linux
+2.0 以降では、 シグナルの送信許可の扱いは異なり (\fBkill\fP(2) 参照)、 プロセスは、
+望まないプロセスからシグナルを受信してしまう状態にならずに、 自身の実効ユーザー ID を変更することができる。 したがって、
+\fBsetfsuid\fP() は今日では不要であり、 新規のアプリケーションでは使用すべきではない (\fBsetfsgid\fP(2) も同様)。
 
 元々の Linux の \fBsetfsuid\fP() システムコールは
 16 ビットのグループ ID だけに対応していた。