pwd — База данных паролей


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

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

Индекс Атрибут Объяснение
0 pw_name Логин
1 pw_passwd Дополнительный зашифрованный пароль
2 pw_uid Числовой ID пользователя
3 pw_gid Числовой ID группы
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
Интерфейс к базе данных теневых паролей, подобный этому.