用来在/etc中的数据库中获取信息的模块. 也可以在类中include该模块后加以利用.
require 'etc' p Etc.getlogin
Etc.endgrent ((<ruby 1.8 特性>))Etc.endpwent ((<ruby 1.8 特性>))Etc.getgrent ((<ruby 1.8 特性>))Etc.getpwent ((<ruby 1.8 特性>))Etc.setgrent ((<ruby 1.8 特性>))Etc.setpwent ((<ruby 1.8 特性>))ruby 1.8 特性
Etc.getlogin返回自己的login名。若获取login名失败,则返回nil。
该方法失败时,可退回到Etc.getpwuid。
Etc.getpwnam(name)搜索passwd数据库, 返回姓名为name的passwd条目。返回值是passwd结构体, 其成员如下。
struct passwd name # 用户名(字符串) passwd # 密码(字符串) uid # 用户ID(整数) gid # 组ID(整数) gecos # gecoszi字段(字符串) dir # 主目录(字符串) shell # login shell(字符串) # 有些系统不支持下列成员 change # 修改密码的时间(整数) quota # 定额(整数) age # age(整数) class # 用户访问类(字符串) comment # comment(字符串) expire # 帐户有效期限(整数) end
详情请参考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条目的迭代器。