请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

普通用户执行ansible

老师 ,请问生产root用户禁止远程登录了, ansible普通用户操作远程服务器sudo到root怎么配置呀? 

正在回答 回答被采纳积分+3

1回答

Jeson 2018-01-24 21:43:03

你好,由于要赶时间写教案,我先拿ad-hoc这个模式和你举例,如果需要了解playbook 剧本模式的化,你再和我提问,我再单独回复你。

就ad模式而言:

首先,要确保普通用户可以ssh登录,另外可以有sudo 的权限。

我这用的ssh普通用户是jeson这个用户。

接下来,先配置好自己的主机配置文件,ansible默认读取的/etc/ansible/hosts这个文件。

我的内容配置如下:

[test_group1]

192.168.1.110:22 ansible_ssh_user=jeson ansible_ssh_pass='123456' ansible_sudo_pass='123456'

ansible_sudo_pass为登录到目标机器后执行sudo所需要的密码。

最后,按照如下方式执行:

/opt/python2.7/bin/ansible -m shell -a "touch /tmp/rooadd.txt" 192.168.1.110 -u jeson --sudo

--sudo 表示用sudo到root的方式执行对应的模块


测试,ssh到目标机器,执行如下:

[jeson@localhost ~]$ ll /tmp/rooadd.txt 

-rw-r--r-- 1 root root 0 1月  24 08:39 /tmp/rooadd.txt

生成的问题属主为root 说明成功了。





0 回复 有任何疑惑可以回复我~
  • 提问者 慕后端4352131 #1
    谢谢老师了,那等老师有时间了也回复我下playbook的写法吧,
    回复 有任何疑惑可以回复我~ 2018-01-25 10:11:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信