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