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