htpasswd – управление файлами пользователей для аутентификации по основанию
Описание
- Добавление и удаление записей имя пользователя/пароль в файле паролей с помощью htpasswd.
- Используется веб-серверами, такими как Apache и Nginx, для аутентификации по основанию.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- passlib>=1.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка добавлен в 2.3 | Атрибуты, которые должны иметь результирующий файл или каталог. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | |
| create логическое значение |
| Используется с state=present. Если указано, файл будет создан, если он еще не существует. Если установлено в «нет», произойдет ошибка, если файл не существует |
| crypt_scheme - |
| Схема шифрования, которая должна быть использована. Помимо четырех вариантов, перечисленных здесь, вы также можете использовать любой другой хеш, поддерживаемый passlib, такой как md5_crypt и sha256_crypt, которые являются хэшами linux passwd. Если вы это сделаете, файл паролей не будет совместим с Apache или Nginx |
| 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 строка | По умолчанию: "s0" | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. При установке в _default, будет использоваться часть политики level, если она доступна. |
| serole строка | Часть контекста файла SELinux. При установке в _default, будет использоваться часть политики role, если она доступна. | |
| setype строка | Часть контекста файла SELinux. При установке в _default, будет использоваться часть политики type, если она доступна. | |
| seuser строка | Часть контекста файла SELinux. По умолчанию используется политика system, где это применимо.При установке в _default, будет использоваться часть политики user, если она доступна. | |
| state - |
| Требуется ли присутствие записи пользователя |
| unsafe_writes логическое значение добавлен в 2.2 |
| Влияние на использование атомной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомные операции терпят неудачу (однако он не заставляет 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
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Команда разработчиков 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.8/modules/htpasswd_module.html