Документация Python неофициальный перевод

35.2. pwd – База данных паролейpwd – The password database

Этот модуль предоставляет доступ к базе данных учётных записей и паролей Unix. Он доступен на всех версиях Unix.

Записи базы данных паролей представлены в виде объекта, подобного кортежу, чьи атрибуты соответствуют полям структуры passwd (поле Attribute ниже, см. <pwd.h>):

Индекс Атрибут Значение
0 pw_name Логин
1 pw_passwd Необязательный зашифрованный пароль
2 pw_uid Числовой идентификатор пользователя
3 pw_gid Числовой идентификатор группы
4 pw_gecos Имя пользователя или поле комментария
5 pw_dir Домашний каталог пользователя
6 pw_shell Интерпретатор команд пользователя

Элементы uid и gid являются целыми числами, все остальные – строки. KeyError возникает, если запрашиваемая запись не найдена.

Примечание

В традиционных Unix системах поле pw_passwd обычно содержит пароль, зашифрованный с помощью алгоритма на основе DES (см. модуль crypt). Однако большинство современных Unix используют так называемую систему shadow password (теневых паролей). В таких Unix системах поле pw_passwd содержит только звёздочку ('*') или букву 'x', при этом зашифрованный пароль хранится в файле /etc/shadow, который недоступен для чтения всем пользователям. Содержит ли поле pw_passwd что-либо полезное, зависит от системы. Если требуется доступ к зашифрованному паролю, следует использовать модуль spwd, если он доступен.

Определяются следующие элементы:

pwd.getpwuid(uid)

Возвращает запись базы данных паролей для указанного числового идентификатора пользователя.

pwd.getpwnam(name)

Возвращает запись базы данных паролей для указанного имени пользователя.

pwd.getpwall()

Возвращает список всех доступных записей базы данных паролей в произвольном порядке.

См. также

Модуль grp
Интерфейс к базе данных групп, аналогичный этому.
Модуль spwd
Интерфейс к базе данных теневых паролей, аналогичный этому.