# Etc

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

## 使い方:

    require 'etc'
    p Etc.getlogin

## モジュール関数:

`Etc.endgrent ((<ruby 1.8 feature>))`
`Etc.endpwent ((<ruby 1.8 feature>))`
`Etc.getgrent ((<ruby 1.8 feature>))`
`Etc.getpwent ((<ruby 1.8 feature>))`
`Etc.setgrent ((<ruby 1.8 feature>))`
`Etc.setpwent ((<ruby 1.8 feature>))`

  ruby 1.8 feature

`Etc.getlogin`

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

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

`Etc.getpwnam(name)`

  passwd データベースを検索し、 名前が name である passwd エントリを返す。 戻り値は passwd 構造体で、以下のメンバを持つ。

      struct passwd
        name        # ユーザ名(文字列)
        passwd      # パスワード(文字列)
        uid         # ユーザID(整数)
        gid         # グループID(整数)
        gecos       # gecosフィールド(文字列)
        dir         # ホームディレクトリ(文字列)
        shell       # ログインシェル(文字列)
        # 以降のメンバはシステムによっては提供されない
        change      # パスワード変更時間(整数)
        quota       # クォータ(整数)
        age         # エージ(整数)
        class       # ユーザアクセスクラス(文字列)
        comment     # コメント(文字列)
        expire      # アカウント有効期限(整数)
      end

  名前が name である passwd エントリがなかった場合、 ArgumentError を発生する。

  詳細は getpwnam(3) を参照のこと。

`Etc.getpwuid([uid])`

  passwd データベースを検索し、 ユーザ ID が uid である passwd エントリを返す。 戻り値は Etc.getpwnam と同様である。 引数を省略した場合には getuid(2) の値を用いる。

  詳細は getpwuid(3) を参照のこと。

`Etc.getgrgid(gid)`

  group データベースを検索し、グループ ID が gid であるグループエントリを返す。 戻り値は group 構造体で、以下のメンバを持つ。

      struct group
        name        # グループ名(文字列)
        passwd      # グループのパスワード(文字列)
        gid         # グループID(整数)
        mem         # グループメンバ名の配列
      end

  詳細は getgrgid(3) を参照のこと。

`Etc.getgrnam(name)`

  name という名前のグループエントリを返す。 戻り値は Etc.getgrgid と同様である。

  詳細はgetgrnam(3) を参照のこと。

`Etc.group`

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

`Etc.passwd`

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

links: [Etc] [manual page] [ruby 1.8 feature]
reverse links: [WEBrick::HTTPServlet::FileHandler] [etc.so] [添付ライブラリ]