> **Источник:** https://python-all.ru/3.14/library/pwd.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `pwd` – База данных паролей

---

Этот модуль предоставляет доступ к базе данных учётных записей и паролей Unix. Он доступен на всех версиях Unix.

[Доступность](https://python-all.ru/3.14/library/intro.html#availability): Unix, не WASI, не iOS.

Записи базы данных паролей предоставляются в виде объекта, похожего на кортеж, чьи атрибуты соответствуют членам структуры `passwd` (поля атрибутов ниже, см. `<pwd.h>`):

| Индекс | Атрибут | Значение |
| --- | --- | --- |
| 0 | `pw_name` | Логин |
| 1 | `pw_passwd` | Необязательный зашифрованный пароль |
| 2 | `pw_uid` | Числовой идентификатор пользователя |
| 3 | `pw_gid` | Числовой идентификатор группы |
| 4 | `pw_gecos` | Имя пользователя или поле комментария |
| 5 | `pw_dir` | Домашний каталог пользователя |
| 6 | `pw_shell` | Интерпретатор команд пользователя |

Элементы uid и gid – целые числа, все остальные – строки. Исключение [`KeyError`](https://python-all.ru/3.14/library/exceptions.html#KeyError) возбуждается, если запрашиваемая запись не найдена.

> **Примечание**
>
> В традиционных Unix системах поле `pw_passwd` обычно содержит пароль, зашифрованный с помощью алгоритма, производного от DES. Однако большинство современных Unix-систем используют так называемую систему *теневых паролей*. В таких системах поле *pw\_passwd* содержит только звёздочку (`'*'`) или букву `'x'`, а зашифрованный пароль хранится в файле `/etc/shadow`, который недоступен для чтения всем пользователям. Наличие полезной информации в поле *pw\_passwd* зависит от системы.

Определяются следующие элементы:

#### `pwd.getpwuid(uid)`

Возвращает запись базы данных паролей для указанного числового идентификатора пользователя.

#### `pwd.getpwnam(name)`

Возвращает запись базы данных паролей для указанного имени пользователя.

#### `pwd.getpwall()`

Возвращает список всех доступных записей базы данных паролей в произвольном порядке.

> **См. также**
>
> **Модуль [`grp`](https://python-all.ru/3.14/library/grp.html#module-grp)**
>
> Интерфейс к базе данных групп, аналогичный этому.
