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