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

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


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

Записи базы данных паролей предоставляются в виде объекта, похожего на кортеж, чьи атрибуты соответствуют членам структуры passwd (поля атрибутов ниже, см. <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-систем используют так называемую систему теневых паролей. В таких системах поле pw_passwd содержит только звёздочку ('*') или букву 'x', а зашифрованный пароль хранится в файле /etc/shadow, который не доступен для чтения всем пользователям. Содержит ли поле pw_passwd что-либо полезное, зависит от системы. Если требуется доступ к зашифрованному паролю, следует использовать модуль spwd (если он доступен).

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

pwd.getpwuid(uid)

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

pwd.getpwnam(name)

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

pwd.getpwall()

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

См. также

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