module function Process::UID.#eid=

grant_privilege(id) -> Integer[permalink][rdoc][edit]
eid=(id)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable? が true を返すかどうかで決まります。

  • true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
  • false の環境では保存ユーザ ID は変化しません。

利用できるかはプラットフォームに依存します。

[PARAM] id:
ユーザ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
変更できない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.uid, Process.euid]          #=> [0, 0]
Process::UID.grant_privilege(33)     #=> 33
[Process.uid, Process.euid]          #=> [0, 33]