pwd
— База даних паролів¶
Цей модуль забезпечує доступ до бази даних облікових записів користувачів і паролів Unix. Він доступний у всіх версіях Unix.
Availability: Unix, not Emscripten, not WASI.
Записи бази даних паролів повідомляються як об’єкт, подібний до кортежу, атрибути якого відповідають членам структури passwd
(поле атрибута нижче, див. <pwd.h>
):
Індекс |
Атрибут |
Значення |
---|---|---|
0 |
|
Логін |
1 |
|
Додатковий зашифрований пароль |
2 |
|
Числовий ідентифікатор користувача |
3 |
|
Ідентифікатор числової групи |
4 |
|
Ім’я користувача або поле коментаря |
5 |
|
Домашній каталог користувача |
6 |
|
Інтерпретатор команд користувача |
Елементи uid і gid є цілими числами, всі інші є рядками. KeyError
виникає, якщо запитуваний запис не знайдено.
Примітка
У традиційному Unix поле pw_passwd
зазвичай містить пароль, зашифрований за допомогою алгоритму, отриманого від DES (див. модуль crypt
). Однак більшість сучасних уніксів використовують так звану систему тіньових паролів. У цих уніксах поле pw_passwd містить лише зірочку ('*'
) або літеру 'x'
, де зашифрований пароль зберігається у файлі /etc/shadow
, який не читається світом. Чи містить поле pw_passwd щось корисне, залежить від системи. Якщо доступний, модуль spwd
слід використовувати там, де потрібен доступ до зашифрованого пароля.
Він визначає такі пункти:
- pwd.getpwuid(uid)¶
Повернути запис бази даних паролів для вказаного числового ідентифікатора користувача.
- pwd.getpwnam(name)¶
Повернути запис бази даних паролів для вказаного імені користувача.
- pwd.getpwall()¶
Повертає список усіх доступних записів бази даних паролів у довільному порядку.