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
()¶ Возвращает список всех доступных записей базы данных паролей в произвольном порядке.