栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ansible普通用户sudo执行指令

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ansible普通用户sudo执行指令

在我的实战课程中,有同学给我提了一个如下的问题,课程虽然系统性的覆盖了ansible的重要知识点,但在一些小的知识场景难免存在遗漏,这个同学的问题如下:

所以这篇帖,Jeson先拿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 说明成功了。

所以 ansible_sudo_pass,在资源文件配置的时候需要添加上,这个时候ansible会作为主机变量读取sudo提取的密码。

大家是否对playbook也想尝试下,或者想了解,欢迎评论!


课程介绍:https://coding.imooc.com/class/160.html
课程问答区:https://coding.imooc.com/learn/qa/160.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号