Spec-Zone.ru › Ansible 2.11

community.general.htpasswd – управление файлами пользователей для аутентификации по основанию

Примечание

Этот плагин является частью коллекции community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general

Для использования в книге задач укажите: community.general.htpasswd

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры

Обзор

  • Добавление и удаление записей имя пользователя/пароль в файле паролей с помощью htpasswd.
  • Используется веб-серверами, такими как Apache и Nginx, для аутентификации по основанию.

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • 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).
Если mode не указано и целевой файл не существует, по умолчанию будет использоваться umask на системе при установке режима для вновь созданного файла.
Если mode не указано и целевой файл существует, будет использован режим существующего файла.
Указание mode — лучший способ гарантировать, что файлы будут созданы с правильными разрешениями. См. CVE-2020-1736 для получения дополнительной информации.
name
строка / обязательный
Имя пользователя для добавления или удаления

псевдонимы: имя_пользователя
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/htpasswd_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API