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

---

# 36.3. [`spwd`](https://python-all.ru/2.7/library/spwd.html#module-spwd) – База теневых паролей

Новое в версии 2.5.

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

Для доступа к базе данных теневых паролей необходимы достаточные привилегии (обычно это означает, что нужно быть root).

Записи базы данных теневых паролей представляются в виде объекта, подобного кортежу, атрибуты которого соответствуют элементам структуры `spwd` (поле «Атрибут» ниже, см. `<shadow.h>`):

| Индекс | Атрибут | Значение |
| --- | --- | --- |
| 0 | `sp_nam` | Логин |
| 1 | `sp_pwd` | Зашифрованный пароль |
| 2 | `sp_lstchg` | Дата последнего изменения |
| 3 | `sp_min` | Минимальное количество дней между сменами |
| 4 | `sp_max` | Максимальное количество дней между сменами |
| 5 | `sp_warn` | Количество дней до истечения срока пароля, когда пользователю отправляется предупреждение |
| 6 | `sp_inact` | Количество дней после истечения срока действия пароля до блокировки учётной записи |
| 7 | `sp_expire` | Количество дней с 1970-01-01 до отключения учётной записи |
| 8 | `sp_flag` | Зарезервировано |

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

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

#### `spwd.getspnam(name)`

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

#### `spwd.getspall()`

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

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