类 Etc::Passwd

Passwd 是 Unix 系统上用户数据库的占位符结构。

该结构包含以下成员

name

包含用户的简短登录名,类型为字符串。

passwd

包含用户的加密密码,类型为字符串。如果使用影子密码,则返回 'x'。如果用户无法使用密码登录,则返回 '*'

uid

包含用户的整数用户 ID (uid)。

gid

包含用户主组的整数组 ID (gid)。

dir

包含用户主目录的路径,类型为字符串。

shell

包含用户登录 shell 的路径,类型为字符串。

以下成员是系统相关的

gecos

包含用户更长的字符串描述,例如全名。某些 Unix 系统在 gecos 字段中提供结构化信息,但这是系统相关的。

change

密码更改时间(整数)。

quota

配额值(整数)。

age

密码有效期(整数)。

class

用户访问类(字符串)。

comment

注释(字符串)。

expire

帐户到期时间(整数)。

公共类方法

Etc::Passwd.each { |struct| block } → Etc::Passwd 点击切换源码
Etc::Passwd.each → Enumerator

如果给定代码块,则遍历 /etc/passwd 文件中的每个条目。

如果没有给定代码块,则返回 Enumerator。

代码块被传递一个 Passwd 结构。

有关详细信息,请参见上面的 Etc.getpwent

示例

require 'etc'

Etc::Passwd.each {|u|
  puts u.name + " = " + u.gecos
}

Etc::Passwd.collect {|u| u.gecos}
Etc::Passwd.collect {|u| u.gecos}
static VALUE
etc_each_passwd(VALUE obj)
{
#ifdef HAVE_GETPWENT
    RETURN_ENUMERATOR(obj, 0, 0);
    each_passwd();
#endif
    return obj;
}