>_ IzzyLab

Практическое задание

Ansible: создай пользователей циклом

средне

Напиши плейбук /root/users.yml (target localhost, local connection), который через loop создаёт трёх пользователей: alice, bob, carol. Прогони его. Проверка сама удалит этих пользователей и прогонит плейбук заново.

Что потренируешь:
  • ansible
  • модуль user
  • loop
  • ansible-playbook
  • jinja2

Разбор темы

Ansible описывает желаемое состояние системы декларативно в YAML-плейбуке, а конкретную работу выполняют модули — за учётные записи отвечает модуль user. Чтобы не дублировать одну и ту же задачу под каждого пользователя, к ней прикладывают loop: задача повторяется для каждого элемента списка, а текущий элемент доступен через переменную item, подставляемую синтаксисом Jinja2. Плейбук нацеливают на локальную машину (connection: local), а создание пользователей требует повышения прав (become).

Что проверяется

  1. плейбук создаёт пользователей с нуля
  2. пользователи alice, bob, carol созданы
  3. пользователи создаются циклом (loop)
  4. повторный прогон ничего не меняет (changed=0)

Как это выглядит