Документация Python неофициальный перевод

pwd.md

54 строк · 4.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.1/library/pwd.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 33.2. `pwd` – База данных паролей89*Платформы:* Unix1011Этот модуль предоставляет доступ к базе данных учётных записей и паролей Unix. Он доступен на всех версиях Unix.1213Записи базы данных паролей представлены в виде объекта, подобного кортежу, чьи атрибуты соответствуют полям структуры `passwd` (поле Attribute ниже, см. `<pwd.h>`):1415| Индекс | Атрибут | Значение |16| --- | --- | --- |17| 0 | `pw_name` | Логин |18| 1 | `pw_passwd` | Необязательный зашифрованный пароль |19| 2 | `pw_uid` | Числовой идентификатор пользователя |20| 3 | `pw_gid` | Числовой идентификатор группы |21| 4 | `pw_gecos` | Имя пользователя или поле комментария |22| 5 | `pw_dir` | Домашний каталог пользователя |23| 6 | `pw_shell` | Интерпретатор команд пользователя |2425Элементы uid и gid являются целыми числами, все остальные – строки. [`KeyError`](https://python-all.ru/3.1/library/exceptions.html#KeyError) возникает, если запрашиваемая запись не найдена.2627> **Примечание**28>29> В традиционных Unix системах поле `pw_passwd` обычно содержит пароль, зашифрованный с помощью алгоритма на основе DES (см. модуль [`crypt`](https://python-all.ru/3.1/library/crypt.html#module-crypt)). Однако большинство современных Unix используют так называемую систему *shadow password* (теневых паролей). В таких Unix системах поле *pw\_passwd* содержит только звёздочку (`'*'`) или букву `'x'`, при этом зашифрованный пароль хранится в файле `/etc/shadow`, который недоступен для чтения всем пользователям. Содержит ли поле *pw\_passwd* что-либо полезное, зависит от системы. Если требуется доступ к зашифрованному паролю, следует использовать модуль [`spwd`](https://python-all.ru/3.1/library/spwd.html#module-spwd), если он доступен.3031Определяются следующие элементы:3233#### `pwd.getpwuid(uid)`3435Возвращает запись базы данных паролей для указанного числового идентификатора пользователя.3637#### `pwd.getpwnam(name)`3839Возвращает запись базы данных паролей для указанного имени пользователя.4041#### `pwd.getpwall()`4243Возвращает список всех доступных записей базы данных паролей в произвольном порядке.4445> **См. также**46>47> **Модуль [`grp`](https://python-all.ru/3.1/library/grp.html#module-grp)**48>49> Интерфейс к базе данных групп, аналогичный этому.50>51> **Модуль [`spwd`](https://python-all.ru/3.1/library/spwd.html#module-spwd)**52>53> Интерфейс к базе данных теневых паролей, аналогичный этому.54