当root不能远程登录时,ansible操作,又需要执行root的权限。
前提是,普通用户,已经设置了sudo权限。在ansible所在机器上,配置ansible.cfg文件,使执行ansible命令具有root权限。
[privilege_escalation]
become=True
become_method=sudo
#普通用户使用root权限
[privilege_escalation]
become=True ***//使用“true”或“yes”来表示启用这个特权,如:become=true表示打开了become开关。
become_method=sudo *//********表示用什么方式将普通账户切换到root或所需的其他账户,这里可以用su或sudo。*
#become_user=root *//********设置为root账户,相当于我们以普通账户登入到远程主机时,再使用su - root切换为root账户。*
#become_ask_pass=True *//表示询问密码*
后面再执行 ansible -i hosts xx -m shell -a "mkdir test", test将具有root组。跟用root执行 mkdir test 作用一样。