Редактирование AD-HOC /etc/sudoers со стороны сервера Ansible

Я пытаюсь добавить привилегию узлу Ansible через сервер Ansible, используя lineinfile с помощью специальной команды в качестве ROOT:

ansible -i rec-apache.inv -m lineinfile -a "path=/etc/sudoers \
line ='ansible-node1 ALL=(ALL:ALL) NO PASSWD:ALL'" --become-method=su --become -K all

Я получил следующую ошибку

ERROR! this task 'lineinfile' has extra params, which is only allowed in the following modules:
shell, win_shell, include_vars, add_host, raw, include_role, meta, set_fact, include, 
import_tasks, script, import_role, include_tasks, group_by, command, win_command

Я уже сделал обмен ключами, и все прошло хорошо и правильно. Эта проблема возникает только тогда, когда я использую пользователя root на стороне сервера. Я знаю, что могу сделать это с помощью playbook, но мне интересна специальная команда. Благодарю вас !


person AIT ALI YAHIA Rayane    schedule 08.08.2020    source источник
comment
Попробуйте без пробела после line например: line='ansible-node1 ALL=(ALL:ALL) NO PASSWD:ALL'?   -  person seshadri_c    schedule 08.08.2020


Ответы (1)


Пробел после строки в line ='...' может привести к тому, что Ansible будет рассматривать ='...' как параметр, что не поддерживается. Попробуйте удалить пробел как: line='ansible-node1 ALL=(ALL:ALL) NO PASSWD:ALL'

person seshadri_c    schedule 09.08.2020