Etc

/etcディレクトリ以下の情報を得るためのモジュール。クラスにインクルード して使うこともできる。

使い方:

require "etc.so"

p Etc.getlogin

モジュール関数:

Etc.getlogin

自分のlogin名を返す。これが失敗した場合はEtc.getpwuidを用いると 良い。

Etc.getpwnam(name)

/etc/passwdファイル(あるいはDBMファイルやNISデータベース)を検 索し、nameの名前を持つpasswdエントリを返す。戻り値はpasswd構造 体で以下のメンバを持つ。

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

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

Etc.getpwuid([uid])

uidをユーザIDとするpasswdエントリを返す。戻り値は Etc.getpwnamと同様である。引数を省略した場合には getuid(2)の値を用いる。詳細は getpwuid(3) を参照のこと。

Etc.getgrgid(gid)

/etc/groupファイル(あるいは…Etc.getpwnam参照)を検索し、 gidをグループIDとするグループエントリを返す。戻り値はgroup構 造体で以下のメンバを持つ。

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

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

Etc.getgrnam(name)

nameという名前のグループエントリを返す。戻り値は Etc.getgrgidと同様である。詳細はgetgrnam(3) を参照。

Etc.group

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

Etc.passwd

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