sudo(superuser or another do)让普通用户可以以超级管理员或其他人的身份执行命令。

sudo基本流程如下:

1.管理员需要先授权(修改/etc/sudoers文件)

2.普通用户以sudo的形式执行命令

3.可以通过sudo -l 查看授权情况

修改/etc/sudoers的方法如下:

1.visudo(带语法检查,默认没有颜色提示)

2.vim /etc/sudoers(不带语法检查,默认有颜色提示)

授权格式:

用户或组 主机列表=(提权身份) [NOPASSWD]:命令列表

NOPASSWD的意思是执行sudo不需要输入自己的密码

注意事项:命令需要写绝对路径,对组授权需要在组名称前面加%

## cat /etc/sudoers

root ALL=(ALL) ALL

tom ALL=(root) /usr/bin/systemctl               tom以root身份可以启动关闭重启服务

%wheel      ALL=(ALL) ALL

$ sudo systemctl restart sshd               提权以root身份执行

ansible批量给所有主机创建系统账户,授权

远程所有被管理主机批量创建系统账户,账户名称为alice,密码为123456。

# ansible all -m user -a "name=alice password={{'123456' | password_hash('sha512')}}"

配置alice账户可以提权执行所有命令

使用lineinfile模块修改远程被管理端主机的/etc/sudoers文件,line=后面的内容是需要添加到文件最后的具体内容。等于是在/etc/sudoers文件末尾添加一行:alice ALL=(ALL) NOPASSWD:ALL

#ansible all -m lineinfile -a "path=/etc/sudoers line='alice ALL=(ALL) NOPASSWD:ALL'“

验证:在node1上面测试

#su - alice

$sudo systemctl restart sshd

######################

修改ansible配置文件

######################

默认ansible是通过root远程被管理端主机

可以修改配置文件以普通用户远程被管理端主机执行自动化运维

vim ~/ansible/ansible.cfg

[defaults]

inventory = ~/ansible/hosts

remote_user = alice                      #以什么用户远程被管理主机(被管理端主机的用户名)

#host_key_checking = False        #是否校验密钥

[privilege_escalation]

become = true                               #alice没有特权,是否需要切换用户提升权限

become_method = sudo               #如何切换用户(比如用su就可以切换用户,这里是sudo)

become_user = root                     #切换成什么用户(把alice提权为root账户)

become_ask_pass = no                #执行sudo命令提权时是否需要输入密码

远程被管理端主机的alice用户,需要提前配置SSH密钥。

#for i in node1 node2;

do ssh-copy-id alice@$i

done

# ssh alice@node1                             #依次远程所有主机看看是否需要密码

########################

修改inventory主机清单配置文件(实验参考)

########################

vim ~/ansible/inventory

[test]

node1     ansible_ssh_port=220             #自定义远程SSH端口

[proxy]

node2 ansible_ssh_user=alice                    #自定义远程连接的账户名

[webserver]

node[3:4] ansible_ssh_pass=密码                 #自定义远程连接的密码

[database]

node5 ansible_ssh_private_key_file=密钥文件

[cluster:children]

webserver

database

sudo提权,ansible批量给所有主机创建系统账户,授权的更多相关文章

  1. ansible使用普通用户免密登陆+sudo提权

    前提:从ansible控制端使用test用户可以免密登陆所有被控制端,并且被控端test用户支持sudo提权 # ansible主机清单 cat /etc/ansible/hosts [online- ...

  2. Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误

    Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoer ...

  3. 2019-10-16,sudo提权漏洞(CVE-2019-14287)实现

    sudo是linux系统命令,让普通账号以root身份执行某些命令,比如,安装软件,查看某些配置文件,关机,重启等,如果普通用户需要使用sudo需要修改配置文件,/etc/sudoers,将sudo使 ...

  4. [提权]sudo提权复现(CVE-2019-14287)

    2019年10月14日, sudo 官方在发布了 CVE-2019-14287 的漏洞预警. 0x00 简介 sudo 是所有 unix操作系统(BSD, MacOS, GNU/Linux) 基本集成 ...

  5. sudo 提权漏洞(CVE-2019-14287)复现 (10.16 第二十二天)

    sudo是Linux系统命令,让普通账号以root身份去执行某些命令,比,安装软件.查看某些配置文件.关机.重启等操作,如果普通账号需要使用sudo需要修改配置文件/etc/sudoers,将sudo ...

  6. sudo 提权漏洞(CVE-2019-14287)复现

    (该文参考网络他人资料,仅为学习,不许用于非法用途) 一.环境 1.sudo版本小于1.8.28的Linux系统 2.sudo 是Linux系统命令,让普通账号以root身份去执行某些命令,比如:安装 ...

  7. Linux文件权限;ACL;Setuid、Setgid、Stick bit特殊权限;sudo提权

    相关学习资料 http://blog.sina.com.cn/s/blog_4e2e6d6a0100g47o.html http://blog.csdn.net/aegoose/article/det ...

  8. Linux使用sudo提权时,出现xx 不在 sudoers 文件中。此事将被报告。visudo 命令简单介绍。

    在使用 sudo 临时提权时,出现:不在 sudoers 文件中.此事将被报告. 可以使用 visudo命令 来配置/etc/sudoers文件,将目标用户赋予使用sudo命令的能力. visudo命 ...

  9. linux CVE-2019-14287 Sudo提权漏洞

    CVE-2019-14287 sudo介绍 sudo,也就是以超级管理员身份运行(superuser do)的意思.sudo 是 Linux 中最常使用的重要实用程序之一,它功能十分强大,几乎安装在每 ...

随机推荐

  1. 338. Counting Bits题目详解

    题目详情 Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate ...

  2. drop、truncate、delete功能介绍和三者间区别

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

  3. 【SDOI2009】 HH的项链 - 莫队

    题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链变得越来越长. ...

  4. Sublime Text 3关闭更新新版本的提醒

    1 关闭更新提示前首先需要 输入激活码,下边是我的,亲测有效,无效的话,自行百度填写. ----- BEGIN LICENSE ----- ZYNGA INC. 50 User License EA7 ...

  5. Virtuoso 中如何优化 Library Manager 的显示

    https://www.cnblogs.com/yeungchie/ 主要从 cds.lib 文件去入手. 假设现在想把 Virtuoso 预装的库整理到 preload 分类(库)中. 首先创建一个 ...

  6. 由Thread.join引发的思考

    下面是一段司空见惯的代码,创建两个线程A和线程B,使得线程A优先于线程B执行,使得线程B优先于主线程执行 public class Demo52 { public static void main(S ...

  7. Docker商业版受限,胖容器是个选择

    前情概要 8月13日,Docker 公司更新了网站服务协议,条款申明,禁止禁运国家和被列入「美国实体清单」的组织和个人使用带有该服务协议链接的 Docker 网站和所有相关网站.这一更新协议迅速引起了 ...

  8. Excel提取身份证出生日期②

    问题场景 从user表中的身份信息中提取用户的出生日期: 以下方法也可适用于提取其他数据,不仅是身份证信息: 以下图中数据都为测试数据,不具备真实性! 场景一 user表中的18位身份证,提取出生日期 ...

  9. kvm 虚拟机中鼠标不同步的问题解决方法

    在<devices>标签下添加 <input type='tablet' bus='usb'/>    

  10. linux下udev和mdev的使用

    linux下设备文件系统有devfs.udev和mdev这三种. 一.devfs devfs是由Linux 2.4内核引入的,引入时被许多工程师给予了高度评价,它的出现使得设备驱动程序能自主地管理自己 ...