首页 > 其他分享 >sudo提权,ansible批量给所有主机创建系统账户,授权

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

时间:2024-01-23 18:26:23浏览次数:24  
标签:提权 主机 sudo alice etc ansible

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,alice,etc,ansible
From: https://www.cnblogs.com/cheyunhua/p/17983079

相关文章

  • vulnhub-symfonos(环境变量提权)
    环境准备:靶机-192.168.0.110攻击机-192.168.0.128演示:首先nmap探测网段。 打开网站发现为一张图片没别的内容使用smbclient探测445端口内容 smbclient-L192.168.0.110-L:显示服务器端所分享出来的所有资源发现存在helios用户,和anonymous,先访问下匿名用户资源s......
  • sudo: unable to resolve host xxxx: Name or service not known
    前言在Linux环境中,我使用sudo执行命令,发生报错:sudo:unabletoresolvehostxxxx:Nameorservicenotknown解决这个错误通常发生在更改主机名后,使用sudo命令时出现问题。sudo命令会尝试解析主机名,但如果无法解析,就会出现"sudo:unabletoresolvehost"的错误。然而......
  • Mysql UDF提权实验
    通过实训平台学习一下UDF提权实验环境 实验原理udf='userdefinedfunction',即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,5.1之前位于“C:\Windo......
  • WIN32 动态 UAC 提权
    UAC(UserAccountControl)是Windows平台的用户权限控制。它可以让程序使用管理员权限执行某些操作。静态UAC提权静态UAC提权让程序一直运行在管理员权限下,只要在项目设置里把"UACExecutionLevel"设置为"requireAdministrator"。这样生成的exe文件图标会自动加上......
  • Ansible剧本--Playbook
    Ansible剧本--PlaybookAnsibleplaybook剧本介绍在ansible中,类似“脚本”的文件被称作“剧本”,英文称为playbook,用于配置、部署和管理被控节点只需要把模块按照顺序编排在playbook剧本中,ansible就会按照剧本一步一步的执行,最终达到我们需要实现的效果playbook是由一个或多个'......
  • sudo免密还需要输密码
    一、问题现象###使用sudo提示输入密码[userread@test~]$sudojstat-gcutil697543000我们信任您已经从系统管理员那里了解了日常注意事项。总结起来无外乎这三点:#1)尊重别人的隐私。#2)输入前要先考虑(后果和风险)。#3)权力越大,责任越大。[sudo]us......
  • 数独Sudoku游戏解题C语言和Golang(Go语言)实现
    Go语言实现packagemainimport( "fmt" "os")const( N=9 EmptyCell='0')funcmain(){ iflen(os.Args)!=2||len(os.Args[1])!=81{ fmt.Println("错误:程序需要一个正好包含81位数字的参数。") os.Exit(1) } boa......
  • Ansible命令格式和常用模块介绍
    Ansible命令格式和常用模块介绍Ansible命令格式介绍Ansible命令格式ansible[群组名]-m[模块名]-a[参数]Ansible命令返回值的颜色表示绿色:代表对远程节点不进行相应修改,没有发生改变,命令执行成功黄色:代表对远程节点进行了相应的修改,命令执行成功红色:代表命令执行失败或......
  • ansible使用sudo权限执行命令
    1.修改ansible配置文件vim/etc/ansible/ansible.cfg取消注释的行:remote_tmp=~/.ansible/tmpinventory=/etc/ansible/hostshost_key_checking=False2.编写host文件vim/etc/ansible/hosts10.0.3.2ansible_ssh_user="ydpower"ansible_ssh_port="5151"a......
  • BC实战后渗透之Bypass Applocker到提权
    0x01前言 提示:当个反面案例看就好,实际上拿下的方式远没有下文说的那么麻烦,只怪自己太心急… 本来是之前BC项目搞下来的一个推广站,当时只拿到了Shell权限是一个普通用户,想提权进一步收集服务器上的信息时,发现运行各种东西都是权限拒绝,提示组策略阻止了这个程序,当时因为还有的别......