pwd — База данных паролей¶
Этот модуль обеспечивает доступ к базе данных учетных записей и паролей пользователей Unix. Он доступен на всех версиях Unix.
Записи базы данных паролей представляются в виде кортежа, атрибуты которого соответствуют членам структуры passwd (поле Attribute ниже, см. <pwd.h>):
Индекс |
Атрибут |
Значение |
|---|---|---|
0 |
|
Имя пользователя |
1 |
|
Дополнительный зашифрованный пароль |
2 |
|
Числовой идентификатор пользователя |
3 |
|
Числовой идентификатор группы |
4 |
|
Имя пользователя или поле комментария |
5 |
|
Домашняя директория пользователя |
6 |
|
Интерпретатор команд пользователя |
Элементы uid и gid - целые числа, все остальные - строки. Если запрашиваемая запись не найдена, выдается сообщение KeyError.
Примечание
В традиционных Unix поле pw_passwd обычно содержит пароль, зашифрованный с помощью производного алгоритма DES (см. модуль crypt). Однако большинство современных Unix используют так называемую систему shadow password. На этих устройствах поле pw_passwd содержит только звездочку ('*') или букву 'x', где зашифрованный пароль хранится в файле /etc/shadow, недоступном для чтения. Содержит ли поле pw_passwd что-либо полезное, зависит от системы. Если есть возможность, модуль spwd следует использовать там, где требуется доступ к зашифрованному паролю.
В нем определены следующие элементы:
-
pwd.getpwuid(uid)¶ Возвращает запись базы данных паролей для заданного числового идентификатора пользователя.
-
pwd.getpwnam(name)¶ Возвращает запись базы данных паролей для заданного имени пользователя.
-
pwd.getpwall()¶ Возвращает список всех доступных записей базы данных паролей в произвольном порядке.