Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > etcライブラリ > Etcモジュール

module Etc

クラスの継承リスト: Etc

要約

/etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。

目次

モジュール関数
endgrent endpwent getgrent getgrgid getgrnam getlogin getpwent getpwnam getpwuid group passwd setgrent setpwent sysconfdir systmpdir

モジュール関数

endgrent -> nil[permalink][rdoc]

Etc.#getgrent によって開始された /etc/group ファイルを読む プロセスを終了させファイルを閉じます。

[SEE_ALSO] getgrent(3)

endpwent -> nil[permalink][rdoc]

Etc.#getpwent によって開始された /etc/passwdファイルを読む プロセスを終了させファイルを閉じます。

[SEE_ALSO] getpwent(3)

getgrent -> Struct::Group | nil[permalink][rdoc]

/etc/group ファイルから読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

処理が終了したときは Etc.#endgrent を呼び出すようにしてください。

[SEE_ALSO] getgrent(3), Struct::Group

getgrgid(gid) -> Struct::Group[permalink][rdoc]

group データベースを検索し、グループ ID が gid であるグループエントリを返します。

[PARAM] gid:
検索する gid
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getgrgid(3), Struct::Group

getgrnam(name) -> Struct::Group[permalink][rdoc]

name という名前のグループエントリを返します。

[PARAM] name:
検索するグループ名。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getgrnam(3), Struct::Group

getlogin -> String | nil[permalink][rdoc]

自分の login 名を返します。得られなかった場合は nil を返します。

getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、 現在ではなくログイン時のユーザを返します。

このメソッドが失敗した場合は Etc.#getpwuid に フォールバックするとよいでしょう。

たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。

login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name
getpwent -> Struct::Passwd | nil[permalink][rdoc]

/etc/passwd から読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

処理が終了したときは Etc.#endpwent を呼び出すようにしてください。

[SEE_ALSO] getpwent(3)

getpwnam(name) -> Struct::Passwd[permalink][rdoc]

passwd データベースを検索し、 名前が name である passwd エントリを返します。

[PARAM] name:
検索するユーザ名。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getpwnam(3), Struct::Passwd

getpwuid(uid = getuid) -> Struct::Passwd[permalink][rdoc]

passwd データベースを検索し、 ユーザ ID が uid である passwd エントリを返します。

[PARAM] uid:
検索する uid 。引数を省略した場合には getuid(2) の値を用います。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getpwuid(3), Struct::Passwd

group -> Struct::Group | nil[permalink][rdoc]

/etc/group ファイルから読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

[EXCEPTION] RuntimeError:
/etc/group ファイルがロックされている場合に発生します。

[SEE_ALSO] Etc.#getgrent, getgrent(3)

group {|gr| ... } -> ()[permalink][rdoc]

全てのグループエントリを順にアクセスするためのイテレータです。

passwd -> Struct::Passwd | nil[permalink][rdoc]

/etc/passwd から読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

[EXCEPTION] RuntimeError:
/etc/passwd ファイルがロックされている場合に発生します。

[SEE_ALSO] Etc.#getpwent, getpwent(3)

passwd {|pw| ... } -> ()[permalink][rdoc]

全ての passwd エントリを順にアクセスするためのイテレータです。

setgrent -> nil[permalink][rdoc]

/etc/group の先頭に戻ります。

このメソッドを呼び出した後 Etc.#getgrent を呼び出すと先頭のエントリを返します。

[SEE_ALSO] getgrent(3)

setpwent -> nil[permalink][rdoc]

/etc/passwd の先頭に戻ります。

このメソッドを呼び出した後 Etc.#getpwent を呼び出すと先頭のエントリを返します。

[SEE_ALSO] getpwent(3)

sysconfdir -> String | nil[permalink][rdoc]

システムの設定ディレクトリを返します。

require 'etc'
p Etc.sysconfdir # => "/etc"

主に "/etc" を返しますが、Ruby をソースからビルドした場合は異なるディレ クトリを返す場合があります。例えば、Ruby を /usr/local にインストールし た場合は、"/usr/local/etc" を返します。

systmpdir -> String | nil[permalink][rdoc]

システムのテンポラリディレクトリを返します。

require 'etc'
p Etc.systmpdir # => "/tmp"