普通用户执行ansible,但是在远程需要root权限,这个时候执行ansible命令报如下错误:
经分析是由于sudo的时候,普通用户没有在sudoer文件
2、在playbook里面使用sudo认证
比如,sudo 到root
- name: start standby rm
shell: "ls /data"
become: true #老版本是sudo
become_method: sudo #默认就是sudo方式
become_user: root #默认就是root
如果想不每次手动输入sudo密码,该这么解决???可以使用ansible自动的ansible_sudo_pass变量,如下:
ansible-playbook jdk.yml -e "ansible_sudo_pass=123"
但是不建议这么做,这样密码就暴露了。推荐如下:
ansible-playbook jdk.yml --ask-become-pass
BECOME password: #输入密码