ansible2.9.5使用become参数实现sudo功能
一,为什么要使用sudo?
1,
生产环境中,为了安全因素,我们不会直接使用root来登录到server,
确实有需要的情况下,我们再使用sudo切换到root权限。
所以很多ansible的演示直接使用root还是不够安全的,
生产环境中的机器也不会开放权限允许root直接登录
2,
ansible在新版本中已经不支持sudo参数,
统一改为使用become方式来实现角色的切换
继续使用sudo参数会报错如下:
- ansible: error: unrecognized arguments: --sudo
通过查询手册可以发现,2.9.5中不存在 sudo这个参数:
- [liuhongdi@centos8 ~]$ man ansible
我们可以通过become方法实现sudo功能
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,使用sudo的前提:
在hosts中配置的登录账号在受控端机器上需要有sudo的权限:
有疑问可以参见这一篇:
- https://www.cnblogs.com/architectforest/p/12509041.html
我们在这里的例子中,
登录到服务器的webop账号,有sudo的权限
三,ansible使用become的例子:
1,在ansible配置文件中增加sudo的密码:
- [root@centos8 ~]# vi /etc/ansible/hosts
内容为:
#ansible_ssh_user 登录用户
#ansible_sudo_pass 登录用户sudo要用的密码(就是登录用户自己的密码)
- [yujian]
- 121.122.123.47:12888 ansible_ssh_user=webop ansible_sudo_pass="weboppass"
2,实际使用become实现sudo
become 激活权限提升
become_user 您要成为的用户
become_method 切换新用户的方法:包括:
sudo / su / pbrun / pfexec / doas / dzdo / ksu / runas / machinectl
- [liuhongdi@centos8 ~]$ ansible yujian -m shell -a "cd /data/site/think_www;git status;whoami" --become --become-method=sudo --become-user=root
- 121.122.123.47 | CHANGED | rc=0 >>
- On branch master
- Your branch is up to date with 'origin/master'.
- nothing to commit, working tree clean
- root
四,查看ansible的版本
- [liuhongdi@centos8 ~]$ ansible --version
- ansible 2.9.5
五,查看centos的版本
- [liuhongdi@centos8 ~]$ cat /etc/redhat-release
- CentOS Linux release 8.1.1911 (Core)
ansible2.9.5使用become参数实现sudo功能的更多相关文章
- Centos6.4 为用户添加sudo功能
sudo即super user do,以超级管理员的方式运行命令.使用时,只需在命令最前面加上sudo即可. 要为用户添加sudo功能,需要修改sudo的配置文件: vi /etc/sudoers ( ...
- javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能
from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...
- dir()函数:罗列出参数所有的功能列表
#coding=utf-8import sysprint dir(sys)#罗列出参数中所有的功能列表sys.__doc__#调用参数中的函数 #dir()函数扩展展详解python中dir()函数不 ...
- Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar
解压缩后,可以看到如下3个文件. ExcelDna.IntelliSense.xll 以及 ExcelDna.IntelliSense64.xll 是两个函数参数智能提示加载项,分别用于32和64位E ...
- moviepy音视频剪辑VideoClip类fl_image方法及参数image_func的功能介绍
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip的fl_image方法用于进行对剪辑帧数据进行变换. 调用语法:fl_image(self, im ...
- 拷贝构造函数,深拷贝,大约delete和default相关业务,explicit,给定初始类,构造函数和析构函数,成员函数和内联函数,关于记忆储存,默认参数,静态功能和正常功能,const功能,朋友
1.拷贝构造 //拷贝构造的规则,有两种方式实现初始化. //1.一个是通过在后面:a(x),b(y)的方式实现初始化. //2.另外一种初始化的方式是直接在构造方法里面实现初始化. 案比例如以 ...
- IntelliJ IDEA 去除IDE自动的参数名 提示功能
- centos为用户添加sudo功能
su chmod a+w /etc/sudoers vim /etc/sudoers [找到root ALL=(ALL) ALL这行] 复制出新的一行,并且将root改为daniel(当前用户名) c ...
随机推荐
- 内置函数:循环调用函数map和filter
1.map:循环调用函数,前面一定一定要加list,要不然不会被调用 map的格式:list(map(函数名,循环体)) #这里的函数只能写函数名,不要加() list(map(os.mkdir,[' ...
- Python3 学习笔记之 数据类型
- [SpringBoot项目]问题及解决总结
问题:MySQL 8.0版本连接报错:Could not create connection to database server 原因 MySQL8.0版本需要更换驱动为"com.mysq ...
- Windows10 安装 CUDA + cuDNN + pyTorch
2020/5/29 在 windows10 上面安装 CUDA 和 cuDNN 0.简单了解一下 CUDA 和 cuDNN 1)什么是 CUDA CUDA(ComputeUnified Device ...
- Docker跨主机通信(九)
容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...
- 云计算openstack——维护(15)
- hystrix(8) 插件
上一节讲到HystrixCommand的执行流程. Hystrix内部将一些模块实现成了插件,并且提供了用户提供自己的实现,通过配置来替换插件.Hystrix提供了5个插件,分别为并发相关插件(Hys ...
- DVWA SQL-injection 附python脚本
SQL-Injection low等级 首先我们将dvwa等级调到low 如图 接下来选择SQL Injection,并在提交框中输入正常值1,查看返回结果 接下来检测是否存在注入,分别输入 1' a ...
- 函数的arguments对象的使用和介绍
arguments对象用于函数,当不知道传递了多少个实参,就可以使用arguments对象进行存储传递过来的实参(这时不需要写形参). arguments是一个内置对象,也是一个伪数组,我们可以按照数 ...
- 记一次公司mssql server密码频繁被改的事件
环境描述 近期公司服务器mssql密码频繁被改,导致各种业务系统无法连接,报错.昨天来公司,发现4台数据库3台密码都变了.今天尝试着去查查是否能找到问题根源. 步骤 4台服务器3台连不上,只有64还活 ...