htpasswd - управление файлами пользователей для аутентификации по протоколу Basic
Новое в версии 1.3.
Описание
- Добавление и удаление записей имени пользователя/пароля в файле паролей с помощью htpasswd.
- Используется веб-серверами, такими как Apache и Nginx, для аутентификации по протоколу Basic.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- passlib>=1.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлен в 2.3) | Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе lsattr. псевдонимы: attr | |
| create bool |
| Используется с state=present. Если указано, файл будет создан, если он еще не существует. Если установлено в «нет», произойдёт ошибка, если файла не существует |
| crypt_scheme |
| Схема шифрования, которая будет использоваться. Помимо четырёх вариантов, перечисленных здесь, вы также можете использовать любой другой хеш, поддерживаемый passlib, такой как md5_crypt и sha256_crypt, которые являются хешами паролей Linux. В этом случае файл паролей не будет совместим с Apache или Nginx. |
| group | Имя группы, которая должна владеть файлом/каталогом, как это делается в chown. | |
| mode | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущую нуль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и выполнил собственное преобразование из строки в число. Если вы укажите Ansible число без выполнения одного из этих правил, то будет использовано десятичное число, что приведёт к непредсказуемым результатам. Начиная с версии 1.8, режим может быть указан в символическом виде (например, u+rwx или u=rw,g=r,o=r). | |
| name обязательно | Имя пользователя для добавления или удаления псевдонимы: username | |
| owner | Имя пользователя, который должен владеть файлом/каталогом, как это делается в chown. | |
| password | Пароль, связанный с пользователем. Должен быть указан, если пользователь ещё не существует. | |
| path обязательно | Путь к файлу, содержащему имена пользователей и пароли псевдонимы: dest, destfile | |
| selevel | По умолчанию: "s0" | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как для seuser. |
| serole | Часть контекста файла SELinux, роль. Функция _default работает так же, как для seuser. | |
| setype | Часть контекста файла SELinux, тип. Функция _default работает так же, как для seuser. | |
| seuser | Часть контекста файла SELinux, пользователь. Будет использовать политику системы по умолчанию, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| state |
| Нужно ли наличие записи пользователя |
| unsafe_writes bool (добавлен в 2.2) |
| Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто неисправны таким образом, что это предотвращено. Один пример - файлы, смонтированные в docker, они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом. Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных. |
Примечания
Примечание
- Этот модуль зависит от Python библиотеки passlib, которая должна быть установлена на всех целевых системах.
- В Debian, Ubuntu или Fedora: установите python-passlib.
- В RHEL или CentOS: включите EPEL, затем установите python-passlib.
Примеры
# Add a user to a password file and ensure permissions are set
- htpasswd:
path: /etc/nginx/passwdfile
name: janedoe
password: '9s36?;fyNp'
owner: root
group: www-data
mode: 0640
# Remove a user from a password file
- htpasswd:
path: /etc/apache2/passwdfile
name: foobar
state: absent
# Add a user to a password file suitable for use by libpam-pwdfile
- htpasswd:
path: /etc/mail/passwords
name: alex
password: oedu2eGh
crypt_scheme: md5_crypt
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется обратной совместимостью.
Обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Подробности см. в разделе Обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Команда Ansible Core
Подсказка
Если вы обнаружили проблемы в этом документе, вы можете отредактировать его, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/htpasswd_module.html