spwd.md
1> **Источник:** https://python-all.ru/3.10/library/spwd.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# [`spwd`](https://python-all.ru/3.10/library/spwd.html#module-spwd) – База данных теневых паролей89Устарело с версии 3.11: Модуль [`spwd`](https://python-all.ru/3.10/library/spwd.html#module-spwd) устарел (подробнее и альтернативы см. в [**PEP 594**](https://python-all.ru/3.10/library/spwd.html)).1011---1213Этот модуль предоставляет доступ к базе данных теневых паролей Unix. Он доступен в различных версиях Unix.1415Для доступа к базе данных теневых паролей необходимы достаточные привилегии (обычно это означает, что нужно быть root).1617Записи базы данных теневых паролей представляются в виде объекта, подобного кортежу, атрибуты которого соответствуют элементам структуры `spwd` (поле «Атрибут» ниже, см. `<shadow.h>`):1819| Индекс | Атрибут | Значение |20| --- | --- | --- |21| 0 | `sp_namp` | Логин |22| 1 | `sp_pwdp` | Зашифрованный пароль |23| 2 | `sp_lstchg` | Дата последнего изменения |24| 3 | `sp_min` | Минимальное количество дней между сменами |25| 4 | `sp_max` | Максимальное количество дней между сменами |26| 5 | `sp_warn` | Количество дней до истечения срока пароля, когда пользователю отправляется предупреждение |27| 6 | `sp_inact` | Количество дней после истечения срока пароля, до отключения учётной записи |28| 7 | `sp_expire` | Количество дней с 1970-01-01, когда истекает срок учётной записи |29| 8 | `sp_flag` | Зарезервировано |3031Поля sp\_namp и sp\_pwdp – строки, все остальные – целые числа. [`KeyError`](https://python-all.ru/3.10/library/exceptions.html#KeyError) возбуждается, если запрошенная запись не найдена.3233Определены следующие функции:3435#### `spwd.getspnam(name)`3637Возвращает запись базы данных теневых паролей для указанного имени пользователя.3839Изменено в версии 3.6: Вместо [`KeyError`](https://python-all.ru/3.10/library/exceptions.html#KeyError) теперь возбуждается [`PermissionError`](https://python-all.ru/3.10/library/exceptions.html#PermissionError), если у пользователя нет привилегий.4041#### `spwd.getspall()`4243Возвращает список всех доступных записей базы данных теневых паролей в произвольном порядке.4445> **См. также**46>47> **Модуль [`grp`](https://python-all.ru/3.10/library/grp.html#module-grp)**48>49> Интерфейс к базе данных групп, аналогичный этому.50>51> **Модуль [`pwd`](https://python-all.ru/3.10/library/pwd.html#module-pwd)**52>53> Интерфейс к обычной базе данных паролей, аналогичный данному.54