Модуль community.general.htpasswd — управление файлами пользователей для базовой аутентификации
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.htpasswd.
Краткое описание
- Добавление и удаление записей имени пользователя и пароля в файл паролей с помощью htpasswd.
- Используется веб-серверами, такими как Apache и Nginx, для базовой аутентификации.
Требования
Следующие требования необходимы на узле, на котором выполняется этот модуль.
- passlib>=1.6
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
create логический | Используется вместе с Варианты:
|
group строка | Имя группы, которой должен принадлежать объект файловой системы; это значение передаётся команде Если значение не указано, используется текущая группа текущего пользователя, если только вы не root: в этом случае может быть сохранён прежний владелец. |
hash_scheme псевдонимы: crypt_scheme строка | Используемая схема хеширования. Помимо четырёх перечисленных здесь вариантов, можно использовать любые другие хеши, поддерживаемые passlib, например См. параметр Среди доступных вариантов могут быть: ПРЕДУПРЕЖДЕНИЕ: у модуля нет механизма для определения По умолчанию: |
mode любое значение | Права доступа, которые должен иметь результирующий объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет воспринято как десятичное, что приведёт к неожиданным результатам. Начиная с Ansible 1.8 режим можно задавать в символьном формате (например, Если Если Указание |
name псевдонимы: username строка / обязательный | Имя пользователя, которое нужно добавить или удалить. |
owner строка | Имя пользователя, которому должен принадлежать объект файловой системы; это значение передаётся команде Если значение не указано, используется текущий пользователь, если только вы не root: в этом случае может быть сохранён прежний владелец. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Чтобы избежать неоднозначности, не используйте числовые имена пользователей. |
password строка | Пароль, связанный с пользователем. Необходимо указать, если пользователь ещё не существует. |
path псевдонимы: dest, destfile путь / обязательный | Путь к файлу с именами пользователей и паролями. |
selevel строка | Уровень в контексте объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано значение |
serole строка | Роль в контексте объекта файловой системы SELinux. Если задано значение |
setype строка | Тип в контексте объекта файловой системы SELinux. Если задано значение |
seuser строка | Пользователь в контексте объекта файловой системы SELinux. По умолчанию используется политика Если задано значение |
state строка | Должна ли запись пользователя присутствовать. Варианты:
|
unsafe_writes логический | Управляет тем, когда следует использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованное чтение целевых объектов файловой системы, однако иногда конфигурация систем или их неисправности этому мешают. Например, объекты файловой системы, подключённые в Docker, нельзя атомарно обновить изнутри контейнера — их можно записать только небезопасным способом. Этот параметр позволяет Ansible при сбое атомарных операций перейти к небезопасным методам обновления объектов файловой системы (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена состоянию гонки и может привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль может работать в режиме |
diff_mode | Поддержка: нет | В режиме сравнения возвращает подробную информацию об изменениях (или о возможных изменениях в |
Примечания
Примечание
- Для работы этого модуля требуется библиотека Python
passlib, которую необходимо установить на всех целевых системах. - В Debian < 11, Ubuntu <= 20.04 или Fedora установите
python-passlib. - В Debian и Ubuntu установите
python3-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
hash_scheme: md5_crypt
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/htpasswd_module.html