36.2. pwd – База данных паролей¶pwd – The password database
Этот модуль предоставляет доступ к базе данных учётных записей и паролей Unix. Он доступен на всех версиях Unix.
Записи базы данных паролей предоставляются в виде объекта, похожего на кортеж, чьи атрибуты соответствуют членам структуры passwd (поля атрибутов ниже,
см. <pwd.h>):
Индекс |
Атрибут |
Значение |
|---|---|---|
0 |
|
Логин |
1 |
|
Необязательный зашифрованный пароль |
2 |
|
Числовой идентификатор пользователя |
3 |
|
Числовой идентификатор группы |
4 |
|
Имя пользователя или поле комментария |
5 |
|
Домашний каталог пользователя |
6 |
|
Интерпретатор команд пользователя |
Элементы 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()¶ Возвращает список всех доступных записей базы данных паролей в произвольном порядке.