class Etc::Passwd
Passwd — это заполнитель Struct для базы данных пользователей в системах Unix.
Структура содержит следующие поля
- name
-
содержит короткое имя пользователя для входа в систему в виде
String. - passwd
-
содержит зашифрованный пароль пользователя в виде
String. Если используются теневые пароли, возвращается'x'. Если пользователь не может войти в систему с помощью пароля, возвращается'*'. - uid
-
содержит целочисленный идентификатор пользователя (uid).
- gid
-
содержит целочисленный идентификатор группы (gid) основной группы пользователя.
- dir
-
содержит путь к домашнему каталогу пользователя в виде
String. - shell
-
содержит путь к командной оболочке пользователя для входа в систему в виде
String.
Следующие поля зависят от системы
- gecos
-
содержит более подробное описание пользователя в виде
String, например его полное имя. В некоторых системах Unix поле gecos содержит структурированную информацию, однако это зависит от системы. - change
-
время смены пароля (целое число).
- quota
-
значение квоты (целое число).
- age
-
срок действия пароля (целое число).
- class
-
класс доступа пользователя (строка).
- comment
-
комментарий (строка).
- expire
-
время окончания срока действия учетной записи (целое число).
Публичные методы класса
static VALUE
etc_each_passwd(VALUE obj)
{
#ifdef HAVE_GETPWENT
RETURN_ENUMERATOR(obj, 0, 0);
each_passwd();
#endif
return obj;
} Перебирает каждую запись в файле /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}
Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.