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