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

36.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

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