class Etc::Passwd

Passwd is a Struct that contains the following members:

name

contains the short login name of the user as a String.

passwd

contains the encrypted password of the user as a String. an ‘x’ is returned if shadow passwords are in use. An ‘*’ is returned if the user cannot log in using a password.

uid

contains the integer user ID (uid) of the user.

gid

contains the integer group ID (gid) of the user’s primary group.

dir

contains the path to the home directory of the user as a String.

shell

contains the path to the login shell of the user as a String.

The following members below are optional, and must be compiled with special flags:

gecos

contains a longer String description of the user, such as a full name. Some Unix systems provide structured information in the gecos field, but this is system-dependent. must be compiled with HAVE_STRUCT_PASSWD_PW_GECOS

change

password change time(integer) must be compiled with HAVE_STRUCT_PASSWD_PW_CHANGE

quota

quota value(integer) must be compiled with HAVE_STRUCT_PASSWD_PW_QUOTA

age

password age(integer) must be compiled with HAVE_STRUCT_PASSWD_PW_AGE

class

user access class(string) must be compiled with HAVE_STRUCT_PASSWD_PW_CLASS

comment

comment(string) must be compiled with HAVE_STRUCT_PASSWD_PW_COMMENT

expire

account expiration time(integer) must be compiled with HAVE_STRUCT_PASSWD_PW_EXPIRE

Public Class Methods

Etc::Passwd.each { |struct| block } → Passwd click to toggle source
Etc::Passwd.each → Enumerator

Iterates for each entry in the /etc/passwd file if a block is given.

If no block is given, returns the Enumerator.

The code block is passed an Passwd struct.

See ::getpwent above for details.

Example:

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;
}