htpasswd – управление файлами пользователей для базовой аутентификации
Описание
- Добавление и удаление записей имя пользователя/пароль в файле паролей с помощью htpasswd.
- Используется веб-серверами, такими как Apache и Nginx, для базовой аутентификации.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- passlib>=1.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка | Атрибуты, которые должны иметь результирующий файл или каталог. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении с помощью lsattr. Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.псевдонимы: attr | |
| create логическое значение |
| Используется с state=present. Если указано, файл будет создан, если он еще не существует. Если установлено «нет», произойдет ошибка, если файл не существует |
| crypt_scheme - |
| Схема шифрования, которая должна быть использована. Кроме четырёх вариантов, перечисленных здесь, вы также можете использовать любой другой хеш, поддерживаемый passlib, например, md5_crypt и sha256_crypt, которые являются хэшами linux passwd. Если вы это сделаете, файл паролей не будет совместим с Apache или Nginx |
| group строка | Имя группы, которая должна владеть файлом/каталогом, как это было бы передано в chown. | |
| mode строка | Разрешения, которые должен иметь результирующий файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую цифру 0, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777') для Ansible, чтобы получить строку и выполнить преобразование строки в число.Если вы передадите Ansible число без одного из этих правил, это будет десятичное число, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r). | |
| name - / обязательно | Имя пользователя для добавления или удаления псевдонимы: имя_пользователя | |
| 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 логическое значение |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны в способах, которые препятствуют этому. Одним примером являются файлы, смонтированные в 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.9/modules/htpasswd_module.html