Provided by: manpages-ja-dev_0.5.0.0.20070415-1_all bug
     前
        setuid - ユーザー識別 (identity) を設定する
 
     式
        #include <sys/types.h>
        #include <unistd.h>
 
        int setuid(uid_t uid);
 
     明
        setuid()  は現在のプロセスの実効  (effective)  ユーザー ID を設定する。
        もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID  と保存
        (saved) set-user-ID も設定される。
 
        Linux    では、    setuid()    は   _POSIX_SAVED_IDS   をもった   POSIX
        版のように実装されている。    これは     (ルート以外の)     set-user-ID
        プログラムにそのユーザーの特権を
        全て与え、特権の必要ない仕事をし、本来の実効ユーザー       ID        に
        安全な方法で再び戻すことを許す。
 
        ユーザーがルート    (root)    またはプログラムがルートに    set-user-ID
        されているならば、           特別の注意が払われる。            setuid()
        関数は呼び出し者の実効ユーザー             ID            をチェックし、
        それがスーパー・ユーザーならば、 プロセスに関連する全てのユーザー ID に
        uid                                                        を設定する。
        これが行なわれた後にはプログラムが再びルートの特権を得ることはでい覆ぁ
 
        このように、set-user-ID-root     プログラムは一時的にルート特権を与え、
        ルートでないように振舞うことがでぁ△修譴ら                    setuid()
        を使って再びルート特権を得ることがでい覆い茲Δ砲垢襦            (POSIX
        でない、BSD) コールは seteuid() で行なうことがでい襦
 
         値
        成功した場合は  0  が返される。エラーの場合は   -1   が返され、   errno
        が適切に設定される。
 
         ー
        EAGAIN uid      が現在のユーザー      ID     とマッチせず、この     uid
               によってプロセスが NPROC rlimit を超えた。
 
        EPERM  ユーザーが特権を持たず  (Linux  では  CAP_SETUID  ケーパビリティ
               (capability)   を持たず)、   uid   が呼び出し元プロセスの実  UID
               または保存 set-user-ID と一致しない。
 
     拠
        SVr4,   POSIX.1-2001.    4.4BSD   のコールとは完全な互換世呂覆ぁ   BSD
        のコールは実      (real)、保存     (saved)、実効     (effective)     ID
        の全てを設定する。
 

LINUX

        Linux      はファイル・システム・ユーザー       ID       の概念を持つ。
        通常、これは実効ユーザー         ID         に等しい。         setuid()
        コールは現在のプロセスのファイル・システム・ユーザー  ID   も設定する。
        setfsuid(2) も参照すること。
 
        uid  が昔の実効  uid と異っていた場合、プロセスはコア・ダンプすることを
        禁止される。
 
             
        getuid(2), seteuid(2), setfsuid(2), setreuid(2), capabilities(7)