Модуль community.general.htpasswd — Управление файлами пользователей для аутентификации по основанию
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Чтобы использовать его в книге задач, укажите: community.general.htpasswd.
Описание
- Добавление и удаление записей имя пользователя/пароль в файле паролей с помощью htpasswd.
- Используется веб-серверами, такими как Apache и Nginx, для аутентификации по основанию.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- passlib>=1.6
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь создаваемый файл. Список поддерживаемых флагов см. в справке man для команды chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при выводе команды lsattr. Оператор |
create булево | Используется с Варианты:
|
group строка | Имя группы, которая должна владеть объектом файловой системы, как это передаётся в команду chown. Если не указано, используется текущая группа текущего пользователя, за исключением случаев, когда вы являетесь root, в этом случае может сохраняться предыдущая принадлежность. |
hash_scheme псевдонимы: crypt_scheme строка | Схема хеширования для использования. Помимо четырёх вариантов, перечисленных здесь, можно также использовать любые другие хеши, поддерживаемые passlib, такие как См. параметр Некоторые доступные варианты могут включать: По умолчанию: |
mode любой | Разрешения, которые должен иметь создаваемый объект файловой системы. Для тех, кто привык к команде /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны предоставить Ansible достаточную информацию для корректного анализа. Для согласованных результатов укажите восьмеричные числа в кавычках (например, Передача Ansible числа без соблюдения этих правил приведёт к использованию десятичного числа, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть задан в символическом формате (например, Если Если Указание |
name псевдонимы: username строка / обязательно | Имя пользователя для добавления или удаления. |
owner строка | Имя пользователя, который должен владеть объектом файловой системы, как это передаётся в команду chown. Если не указано, используется текущий пользователь, за исключением случаев, когда вы являетесь root, в этом случае может сохраняться предыдущая принадлежность. Указание числового имени пользователя будет интерпретировано как идентификатор пользователя, а не как имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой путаницы. |
password строка | Пароль, связанный с пользователем. Необходимо указать, если пользователь ещё не существует. |
path псевдонимы: dest, destfile путь / обязательно | Путь к файлу, содержащему имена пользователей и пароли. |
selevel строка | Часть уровня SELinux контекста объекта файловой системы. Это атрибут MLS/MCS, иногда известный как Если установлено |
serole строка | Часть роли SELinux контекста объекта файловой системы. Если установлено |
setype строка | Часть типа SELinux контекста объекта файловой системы. Если установлено |
seuser строка | Часть пользователя SELinux контекста объекта файловой системы. По умолчанию используется политика Если установлено |
state строка | Присутствует ли запись пользователя в файле или нет. Варианты:
|
unsafe_writes boolean | Влияет на то, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованных чтений из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых объектов файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются объекты файловой системы, смонтированные с помощью 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/htpasswd_module.html