Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Process::GIDモジュール

module Process::GID

クラス・モジュールの継承リスト: Process::GID

要約

カレントプロセスのグループ ID を操作するためのモジュールです。

移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。プラットフォームのシステムコールを直接使いたい場合には Process::Sys が提供されています。Process::Sys と Process::GID を同時に使うことは推奨されません。

実グループ ID を変更するメソッドは提供されていません。これは Process::GID.#eid=Process::GID.#re_exchange を以下のように組み合わせることによって実現できます。

                           # (r,e,s) == (g1,g2,??)
Process::GID.re_exchange   # (g1,g2,??) ==> (g2,g1,??)
Process::GID.eid = id      # (g2,g1,??) ==> (g2,id,??)
Process::GID.re_exchange   # (g2,id,??) ==> (id,g2,??)

モジュール関数

定義 説明
change_privilege(id) -> Integer

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。成功したら id を返します。主に root 権限を完全に放棄するために使います。

eid -> Integer

現在のプロセスの実効グループ ID を返します。

grant_privilege(id) -> Integer
eid=(id)

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

from_name(name) -> Integer

引数で指定した名前の実グループ ID を返します。

re_exchange -> Integer

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。保存ユーザ ID は新しい実効ユーザ ID と同じになります。新しい実効グループ ID を返します。

re_exchangeable? -> bool

現在のプラットフォームで Process::GID.#re_exchange が実装されているなら true を返します。そうでない場合に false を返します。

rid -> Integer

現在のプロセスの実グループ ID を返します。

sid_available? -> bool

現在のプラットフォームが保存グループ ID を持つなら true を返します。そうでない場合に false を返します。

switch -> Integer
switch {...} -> object

実効グループ ID を一時的に変更するために使います。