普通用户执行ansible

来源:6-7 实现ssh密钥登录执行命令

慕后端4352131

2018-01-24

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

写回答

1回答

Jeson

2018-01-24

你好,由于要赶时间写教案,我先拿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
1
慕后端4352131
谢谢老师了,那等老师有时间了也回复我下playbook的写法吧,
2018-01-25
共1条回复

Python+Django+Ansible Playbook自动化运维项目实战

【课程升级3.6版本】大牛全面践行DevOps,运维与开发间高效协作

861 学习 · 326 问题

查看课程