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:"