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 ...
随机推荐
- 实践案例丨基于 Raft 协议的分布式数据库系统应用
摘要:简单介绍Raft协议的原理.以及存储节点(Pinetree)如何应用 Raft实现复制的一些工程实践经验. 1.引言 在华为分布式数据库的工程实践过程中,我们实现了一个计算存储分离. 底层存储基 ...
- linux系统漏洞扫描工具lynis
lynis 是一款运行在 Unix/Linux 平台上的基于主机的.开源的安全审计软件.Lynis是针对Unix/Linux的安全检查工具,可以发现潜在的安全威胁.这个工具覆盖可疑文件监测.漏洞.恶意 ...
- [05] 通过P/Invoke加速C#程序
通过P/Invoke加速C#程序 任何语言都会提供FFI机制(Foreign Function Interface, 叫法不太一样), 大多数的FFI机制是和C API. C#提供了P/Invoke来 ...
- 2017年PHP程序员未来路在何方(转)
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
- 程序员你是如何降低NPE的?
程序员,如果系统突然报了一个空指针异常,你肯定像吞了一只苍蝇一样尴尬. 那么如何在日常开发过程中降低NPE? 问题 回答 现状 返回空值会出现大量的空指针异常 目的 改进方法的返回值,降低出现空指针异 ...
- 第一次软件工程与UML作业
这个作业属于哪个课程 https://url.cn/IMQa18Jo 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/ ...
- 阿里云docker部署mysql
看完我的上一个博客之后,对centos系统应该有一定的了解,话不多说,接下来我们来在docker容器中部署mysql. 1.下载mysql镜像,因为本人用的5.7版本,你也可以下载最新版,都是可以的 ...
- k8s重要概念及部署k8s集群(一)
k8s介绍 Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功 ...
- 《k8s权威指南》读书笔记
抽空读完了<k8s权威指南>一书,对k8s的总算有了较为系统的认知. 好记忆不如多写字,以下是读书笔记 第一章 k8s入门 k8s是什么: 一个开源的容器集群管理平台,可提供容器集群的自动 ...
- 【Jenkins】三、设置定时任务
1.点击工程(Test1), 选择左侧的配置 2.选择"构建触发器"下面的"定时构建" 3.填写定时规则(这里设置每隔30分钟执行一次) 4.定时规则语法字段 ...