一,为什么要使用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功能的更多相关文章

  1. Centos6.4 为用户添加sudo功能

    sudo即super user do,以超级管理员的方式运行命令.使用时,只需在命令最前面加上sudo即可. 要为用户添加sudo功能,需要修改sudo的配置文件: vi /etc/sudoers ( ...

  2. javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  3. 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能

    from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...

  4. dir()函数:罗列出参数所有的功能列表

    #coding=utf-8import sysprint dir(sys)#罗列出参数中所有的功能列表sys.__doc__#调用参数中的函数 #dir()函数扩展展详解python中dir()函数不 ...

  5. Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar

    解压缩后,可以看到如下3个文件. ExcelDna.IntelliSense.xll 以及 ExcelDna.IntelliSense64.xll 是两个函数参数智能提示加载项,分别用于32和64位E ...

  6. moviepy音视频剪辑VideoClip类fl_image方法及参数image_func的功能介绍

    ☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip的fl_image方法用于进行对剪辑帧数据进行变换. 调用语法:fl_image(self, im ...

  7. 拷贝构造函数,深拷贝,大约delete和default相关业务,explicit,给定初始类,构造函数和析构函数,成员函数和内联函数,关于记忆储存,默认参数,静态功能和正常功能,const功能,朋友

     1.拷贝构造 //拷贝构造的规则,有两种方式实现初始化. //1.一个是通过在后面:a(x),b(y)的方式实现初始化. //2.另外一种初始化的方式是直接在构造方法里面实现初始化. 案比例如以 ...

  8. IntelliJ IDEA 去除IDE自动的参数名 提示功能

  9. centos为用户添加sudo功能

    su chmod a+w /etc/sudoers vim /etc/sudoers [找到root ALL=(ALL) ALL这行] 复制出新的一行,并且将root改为daniel(当前用户名) c ...

随机推荐

  1. Priest John's Busiest Day(POJ 3683)

    原题如下: Priest John's Busiest Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12162   ...

  2. 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 3 - Shallow Neural Networks(第三周测验 - 浅层神 经网络)

    Week 3 Quiz - Shallow Neural Networks(第三周测验 - 浅层神经网络) \1. Which of the following are true? (Check al ...

  3. Linux实战(20):非docker部署ELK

    部署环境: Elasticsearch:7.5.2 Kibana:7.5.2 Logstash:7.5.2 filebeat:7.5.2 redis:最新版 部署方式:rpm+二进制包 使用架构 软件 ...

  4. Win10系统安装Tensorflow-GPU和VSCode构建Tensorflow开发环境

    [前言] 1. 最近因为上课需要安装Anaconda和Tensorflow-GPU,Anaconda安装很容易,但Tensorflow-GPU版本的安装较为复杂,因为需要考虑版本匹配的一些问题,很容易 ...

  5. RXJAVA之概述

    RXjava是一个异步和基于事件的程序库.RXjava的核心理念是编程风格的的变化,从传统的命令式程序改变到函数响应式编程. RXjava的基本概念: Observable:发射源,即对象产生的地方. ...

  6. java 集合删除数据

    public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asL ...

  7. 7.kafka HA

  8. 如何解决Python下 pip install module 下载慢解决方法?

    对于Python来编程的用户最大的一个痛点就是,下载模块是下载速度特别慢,那么有没有解决方法呢? 换Python的pip下载源 1.首先安装一个模块 pqi,在cmd下 pip install pqi ...

  9. CentOS 正在连接 127.0.0.1:8118... 失败:拒绝连接。

    今天centos使用wget下载东西的时候出现了 看下是否开启了代理 yicunyiye@yicunyiye:~/redis$ export | grep -i proxy declare -x ft ...

  10. pormise和async

    pormise 1.异步问题 假设现在我刚认识你,需要和你说话,但是我普通话不够标准,需要间隔一秒钟才能说一句话,以此让你可以慢慢思考.这样的话我们就需要用到定时器. 最沙雕的代码如下: setTim ...