Spec-Zone.ru › Ansible 2.7

htpasswd – управление файлами пользователей для аутентификации по принципу «пользователь/пароль»

Новая в версии 1.3.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус

Описание

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

Требования

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

  • passlib>=1.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
-
добавлено в 2.3
Атрибуты, которые должен иметь файл или каталог. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
= по умолчанию, в противном случае + или - операторы должны быть включены в строку.

псевдонимы: attr
create
логический
    Варианты:
  • нет
  • да ←
Используется с state=present. Если указано, файл будет создан, если он еще не существует. Если установлено «нет», произойдет ошибка, если файл не существует
crypt_scheme
-
    Варианты:
  • apr_md5_crypt ←
  • des_crypt
  • ldap_sha1
  • plaintext
Схема шифрования, которая будет использоваться. Помимо четырёх вариантов, перечисленных здесь, вы также можете использовать любой другой хэш, поддерживаемый passlib, такой как md5_crypt и sha256_crypt, которые являются хэшами linux passwd. В этом случае файл паролей не будет совместим с Apache или Nginx
group
-
Имя группы, которой должен принадлежать файл/каталог, как в команде chown.
mode
-
Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы Ansible's YAML-парсер знал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы 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 работает так же, как и для seuser.
serole
-
Роль в контексте файла SELinux. Функция _default работает так же, как и для seuser.
setype
-
Тип в контексте файла SELinux. Функция _default работает так же, как и для seuser.
seuser
-
Пользователь в контексте файла SELinux. Будет по умолчанию соответствовать политике системы, если применимо. Если установлено _default, будет использоваться часть политики user, если она доступна.
state
-
    Варианты:
  • present ←
  • absent
Указывает, должен ли быть указан пользователь или нет
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. [community]

Авторы

  • Команда разработчиков 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.7/modules/htpasswd_module.html

Spec-Zone.ru

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