Ansible обработчик оставшегося пароля для смены пароля при первом входе в систему

Привет, работаю над сценарием ansible для создания пользователя ssh и при первом входе в систему для принудительного изменения пароля. Идея в порядке, но похоже, что обработчик не подходит для ansible 2.7.7 с версией python 3.7.3. Вот фактический сценарий и фактический синтаксис

- name: Add {{ user }} user
  user:
    name: "{{ user }}"
    state: present
    groups: "rebel"
    shell: /bin/bash
    password: $1$Somesdfs$AVJ/Zl.pfCejORtGpE4p..
    update_password: on_create
  notify: force change password


handlers:
  - name: force change password
    command: "chage -d 0 {{ user }}"
    when: user.changed

Вот ошибка

фатальный: [192.168.12.147]: НЕ ВЫПОЛНЕНО! => {"cause": "Синтаксическая ошибка при загрузке YAML.\n не обнаружен ожидаемый индикатор '-' \ n \ n Ошибка, похоже, была в '/home/klevin/Rebel/ansible-user-sync/edit_users/internal_add_users.yml': строка 57, столбец 1, но может \ n быть где-нибудь в файле в зависимости от точной синтаксической проблемы. \ n \ n Строка нарушения выглядит так:\n\n\nhandlers:\n^ здесь \n"}

Строка 57 - это начало строки обработчика

1 ответ

Кажется, есть проблема с опубликованным вами файлом yam, с синтаксисом, особенно с пробелами и символом "-".

Я обновил yaml, поскольку полный yaml не предоставляется, как показано ниже, и он успешно работал без каких-либо синтаксических ошибок.

- name: "Test"
  hosts: localhost
  connection: local
  tasks:
    - name: Add {{ user }} user
      user:
        name: "{{ user }}"
        state: present
        groups: "rebel"
        shell: /bin/bash
        password: $1$Somesdfs$AVJ/Zl.pfCejORtGpE4p..
        update_password: on_create
      notify: force change password
  handlers:
    - name: force change password
      command: "chage -d 0 {{ user }}"
      when: user.changed

Убедитесь, что "хосты", "задачи" и "обработчики" имеют правильный формат / интервал, а также строка под ними для "- name:"

Другие вопросы по тегам