SETFSUID(2)

名前
setfsuid - ファイル・システムをチェックするのに使用するユーザー識別(identity)を設定する

書式
int setfsuid(uid_t fsuid)

説明
setfsuid は Linux カーネルがファイル・システム(file system)に対する 全てのアクセスのチェックに使用するユーザーID を設定する。通常は fsuid の値は実効(effective)ユーザーID によって隠されている。実際に、 実効ユーザーID が変更された場合には fsuid もまた新しい実効ユーザーID の値に変更される。 setfsuid の明示的な呼び出しは通常は、Linux NFS サーバー のような、関連する 実(real)ユーザーID や実効ユーザーID を変更することなしに ファイルにアクセスするユーザー ID を変更することが必要なプログラム でのみ使用される。NFS サーバーのようなプログラムでは、プロセスを通常の ユーザーID に変更することはそのユーザーID からの望まない シグナル(signal)にさらされるという セキュリティー・ホール(security hole)になる。 setfsuid はスーパー・ユーザーによって呼び出された場合や、 fsuid が実(real)ユーザーID か、実効(effective)ユーザーID か、 保存(saved)ユーザーID か、現在の fsuid の値に一致する場合にのみ成功する。

返り値
成功した場合、 fsuid の以前の値が返される。エラーの場合は fsuid の現在の値が返される。

準拠
setfsuid は Linux 特有であり、移植を意図したプログラムで使用してはいけない。

バグ
いかなる種類のエラー・メッセージも返されない。 呼び出しが失敗した時は最低でも EPERM くらいは返すべきである。

関連項目
setfsgid(2)