.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
-.\" all rights reserved.
-.\" Translated Sat Mar 1 00:55:10 JST 1997
-.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Modified Mon Sep 23 21:15:17 JST 2000
-.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Modified 2002-09-24 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Modified 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\"*******************************************************************
.\"
-.\"WORD: identity ID
-.\"WORD: kernel カーネル
-.\"WORD: file system ファイル・システム
-.\"WORD: effective user ID 実効ユーザID
-.\"WORD: real user ID 実ユーザID
-.\"WORD: signal シグナル
-.\"WORD: security hole セキュリティ・ホール
-.\"WORD: saved set-user-ID 保存セットユーザID
+.\" This file was generated with po4a. Translate the source file.
.\"
-.TH SETFSUID 2 2008-12-05 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH SETFSUID 2 2010\-11\-22 Linux "Linux Programmer's Manual"
.SH 名前
-setfsuid \- ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81®ã\83\81ã\82§ã\83\83ã\82¯ã\81«ç\94¨ã\81\84ã\82\89ã\82\8cã\82\8bã\83¦ã\83¼ã\82¶ ID ã\82\92è¨å®\9aã\81\99ã\82\8b
+setfsuid \- ファイルシステムのチェックに用いられるユーザ ID を設定する
.SH 書式
-.B #include <unistd.h>
-/* glibc では <sys/fsuid.h> */
+\fB#include <unistd.h>\fP /* glibc では <sys/fsuid.h> */
.sp
-.BI "int setfsuid(uid_t " fsuid );
+\fBint setfsuid(uid_t \fP\fIfsuid\fP\fB);\fP
.SH 説明
-.BR setfsuid ()
-は Linux カーネルがファイル・システムに対する
-全てのアクセスのチェックに使用するユーザID を設定する。通常は
-.I fsuid
-の値は実効 (effective) ユーザID と同じになる。実際、
-実効ユーザID が変更される度に
-.I fsuid
+\fBsetfsuid\fP() は Linux カーネルがファイルシステムに対する 全てのアクセスのチェックに使用するユーザID を設定する。通常は
+\fIfsuid\fP の値は実効 (effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度に \fIfsuid\fP
もまた新しい実効ユーザID の値に変更される。
-通常、
-.BR setfsuid ()
-や
-.BR setfsgid ()
-が明示的に呼び出されるのは、Linux NFS サーバー のように、
-ファイル・アクセスに用いるユーザID / グループID を変更しなければならないが、
-対応する実(real)/実効(effective) ユーザID / グループID は変更したくないような
-プログラムに限られる。
-NFS サーバーのようなプログラムで、通常のユーザID を変更すると、
-プロセスを望まないシグナルにさらす可能性があり、
-セキュリティ・ホールになる。(下記参照)
+通常、 \fBsetfsuid\fP() や \fBsetfsgid\fP() が明示的に呼び出されるのは、Linux NFS サーバー のように、
+ファイルアクセスに用いるユーザID / グループID を変更しなければならないが、 対応する実(real)/実効(effective) ユーザID /
+グループID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラムで、通常のユーザID を変更すると、
+プロセスを望まないシグナルにさらす可能性があり、 セキュリティホールになる。(下記参照)
-.BR setfsuid ()
-は、スーパー・ユーザによって呼び出された場合か、
-.I fsuid
-が実ユーザID、実効ユーザID、
-保存セットユーザID (saved set-user-ID)、現在の
-.I fsuid
-の値のいずれかに一致する場合にのみ成功する。
+\fBsetfsuid\fP() は、スーパーユーザによって呼び出された場合か、 \fIfsuid\fP が実ユーザID、実効ユーザID、 保存セットユーザID
+(saved set\-user\-ID)、現在の \fIfsuid\fP の値のいずれかに一致する場合にのみ成功する。
.SH 返り値
-成功した場合、
-.I fsuid
-の以前の値を返す。エラーの場合は
-.I fsuid
-の現在の値を返す。
+成功した場合、 \fIfsuid\fP の以前の値を返す。エラーの場合は \fIfsuid\fP の現在の値を返す。
.SH バージョン
-このシステムコールはバージョン 1.2 以降の Linux に存在する。
.\" This system call is present since Linux 1.1.44
.\" and in libc since libc 4.7.6.
+このシステムコールはバージョン 1.2 以降の Linux に存在する。
.SH 準拠
-.BR setfsuid ()
-は Linux 特有であり、移植を想定したプログラムで使用してはいけない。
+\fBsetfsuid\fP() は Linux 特有であり、移植を想定したプログラムで使用してはいけない。
.SH 注意
-glibc が引き数がユーザID として不正だと判断した場合は、
-システム・コールを行わず \fIerrno\fP に
-.B EINVAL
-を設定して \-1 が返される。
+glibc が引き数がユーザID として不正だと判断した場合は、 システムコールを行わず \fIerrno\fP に \fBEINVAL\fP を設定して \-1
+が返される。
.LP
-このシステムコールが導入された当時、プロセスは
-同じ実効ユーザIDのプロセスへシグナルを送ることができた。
+このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシグナルを送ることができた。
今日では、シグナル送信権限の扱いはかなり違うものになっている。
+
+元々の Linux の \fBsetfsuid\fP() システムコールは
+16 ビットのグループ ID だけに対応していた。
+その後、Linux 2.4 で、32 ビットの ID に対応した
+\fBsetfsuid32\fP() が追加された。
+glibc の \fBsetfsuid\fP() のラッパー関数は
+カーネルバージョンによるこの違いを吸収している。
.SH バグ
-いかなる種類のエラー・メッセージも呼び出し元に返さない。
-失敗した場合は (呼び出し元には
-.B CAP_SETUID
-ケーパビリティがなかったのだから) 最低でも
-.B EPERM
-くらいは返すべきである。
+いかなる種類のエラーメッセージも呼び出し元に返さない。 失敗した場合は (呼び出し元には \fBCAP_SETUID\fP ケーパビリティがなかったのだから)
+最低でも \fBEPERM\fP くらいは返すべきである。
.SH 関連項目
-.BR kill (2),
-.BR setfsgid (2),
-.BR capabilities (7),
-.BR credentials (7)
+\fBkill\fP(2), \fBsetfsgid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7)