一、格式说明及常用配置选项

格式: 用户或组 主机=授权可以使用哪个用户的权限 可以执行的命令

User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))
例:User_Alias OLD_ADMINS=wt

Runas_Alias 定义runas别名(sudo允许切换到的用户身份)
例:Runas_Alias OP=root

Cmnd_Alias 定义命令别名
例:Cmnd_Alias USERCMD=/usr/sbin/useradd

注意事项:如果别名后面有多个用户或命令,可以使用","隔开;如果使用的是组,在组前面需要加"%";如果配置语句太长,可以使用"\"换行;需要特别注意的是,所有定义的别名都需要大写

二、配置一个范例

1、创建一个新用户

  1. [root@WT ~]# useradd wt
  2. [root@WT ~]# echo "wt"|passwd --stdin wt
  3. Changing password for user wt.
  4. passwd: all authentication tokens updated successfully.

2、执行visudo命令在最下面添加如下配置,实现sudo提权

  1. #My sudo configuration
  2. User_Alias OLD_ADMINS=wt
  3. Runas_Alias OP=root
  4. Cmnd_Alias USERCMD=/usr/sbin/useradd
  5.  
  6. OLD_ADMINS ALL=(OP) USERCMD

3、切换到wt用户,并执行查看wt所拥有的权限(可以看到wt这个普通用户已经拥有创建用户命令的useradd命令了)

  1. [root@WT ~]# su - wt
  2. Last login: Thu Sep :: CST on pts/
  3. [wt@WT ~]$ sudo -l
  4.  
  5. We trust you have received the usual lecture from the local System
  6. Administrator. It usually boils down to these three things:
  7.  
  8. #) Respect the privacy of others.
  9. #) Think before you type.
  10. #) With great power comes great responsibility.
  11.  
  12. [sudo] password for wt:
  13. Matching Defaults entries for wt on WT:
  14. !visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR
  15. LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
  16. LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
  17. env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
  18.  
  19. User wt may run the following commands on WT:
  20. (root) /usr/sbin/useradd

4、试在普通用户wt用户创建一个test用户

  1. [wt@WT ~]$ sudo useradd test
  2. [wt@WT ~]$ id test
  3. uid=(test) gid=(test) groups=(test)

三、配置日志审计

1、配置日志审计

  1. [root@WT ~]# rpm -aq sudo rsyslog
  2. rsyslog-8.24.-.el7.x86_64
  3. sudo-1.8.19p2-.el7.x86_64
  4. [root@WT ~]# echo "Defaults logfile=/var/log/sudo.log">>/etc/sudoers
    [root@WT ~]# visudo -c
    /etc/sudoers: parsed OK

2、切换到普通用户wt,创建一个普通用户test2

  1. [root@WT ~]# su - wt
  2. Last login: Fri Sep :: CST on pts/
  3. [wt@WT ~]$ sudo useradd test2
  4. [sudo] password for wt:

3、切换到root用户,查看/var/log/sudo.log的内容

  1. [root@WT ~]# cat /var/log/sudo.log
  2. Sep :: : wt : TTY=pts/ ; PWD=/home/wt ; USER=root ;
  3. COMMAND=/sbin/useradd test2

Linux sudo用户提权与日志审计的更多相关文章

  1. adore-ng笔记和Linux普通用户提权

    官网:https://github.com/trimpsyw/adore-ng 安装: [root@xuegod63 ~]# unzipadore-ng-master.zip [root@xuegod ...

  2. linux普通用户提权操作

    [root@test1 ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALLzhouyu ...

  3. linux普通用户提权

    tar通配符注入. echo 'echo "chenglee ALL=(root) NOPASSWD: ALL" > /etc/sudoers' > demo.sh e ...

  4. NO29 用户提权sudo配置文件详解实践--志行为审计

     用户提权sudo配置文件详解实践: 放到visudo里:  验证权限:

  5. linux 安全基本防护 用户提权 ssh访问控制

    linu安全应用 信息安全分类: 物理安全:主机/机房环境 系统安全:操作系统 应用安全:各种网络服务,应用程序 网络安全:网络访问控制,防火墙规则 数据安全:信息的备份与恢复,加密解密 管理安全:保 ...

  6. Linux用户提权管理方案

    提权管理方案背景: 如果一个公司有10余个运维或网络安全人员,同时管理服务器,切换到管理员用户时(su - root),必须要有root管理员密码,如果其中一人修改过root密码,其他用户则登录不了, ...

  7. Linux组和提权

    目 录 第1章 组命名管理**    1 1.1 group组信息和密码信息    1 1.1.1 /etc/group 组账户信息    1 1.1.2 /etc/gshadow 组密码信息     ...

  8. LINUX渗透与提权总结

    本文为Linux渗透与提权技巧总结篇,旨在收集各种Linux渗透技巧与提权版本,方便各位同学在日后的渗透测试中能够事半功倍. Linux 系统下的一些常见路径: 001 /etc/passwd 002 ...

  9. Linux本地内核提权漏洞复现(CVE-2019-13272)

    Linux本地内核提权漏洞复现(CVE-2019-13272) 一.漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_c ...

随机推荐

  1. 联想Y7000,I5-9300H+Nvidia GTX 1050, kali linux的nvidia显卡驱动安装

    转载自,Linux安装NVIDIA显卡驱动的正确姿势 https://blog.csdn.net/wf19930209/article/details/81877822#NVIDIA_173 ,主要用 ...

  2. 2019-9-18:渗透测试,基础学习,DNS HTML,笔记

    DNS服务器,域名解析服务器,端口默认53,UDP协议传输,服务器作业,将域名转成ip,将ip转成域名 sql server默认端口:1433,MSSQL是sql server简写 netstat - ...

  3. html background-image 图片打开失败的原因

    写网页的时候遇到一个问题,在样式表里面引用background-image,没有出现效果.查了一下是提取图片的路径不对,记录下遇到问题以及解决方法. 1.系统自带url 引号问题 这个最坑,以为系统就 ...

  4. es6 every的使用

    let arr2 =[1,3,5,7,9,10]; //arr2.every() 数组里面所有的元素都有符合条件,才返回true var b =arr2.every(function (val,ind ...

  5. [ASP.NET Core 3框架揭秘] 异步线程无法使用IServiceProvider?

    标题反映的是上周五一个同事咨询我的问题,我觉得这是一个很好的问题.这个问题有助于我们深入理解依赖注入框架在ASP.NET Core中的应用,以及服务实例的生命周期. 一.问题重现 我们通过一个简单的实 ...

  6. selenium处理隐藏元素的方法

    <li class="navbar-nav-item ">       <a href="#" id="cust"> ...

  7. scrapy抓取斗鱼APP主播信息

    如何进行APP抓包 首先确保手机和电脑连接的是同一个局域网(通过路由器转发的网络,校园网好像还有些问题). 1.安装抓包工具Fiddler,并进行配置 Tools>>options> ...

  8. 虚拟机配置net模式

    在cmd中输入ipconfig -all查看 更改网络适配器 进入虚拟机左上角编辑----虚拟机网络编辑器查看VMnet8,虚拟机会为我们分配的固定ip段:如下图: ip段是128---254,所以设 ...

  9. Maven安装目录分析

    maven目录结构介绍 bin: 包含了mvn运行的脚本(既在cmd输入命令执行依赖,在命令行输入任何一条mvn命令时,实际上就是在调用这些脚本) boot: 该目录只包含一个文件,是一个类加载器,m ...

  10. day28

    断点调试 在想要加断点的地方用鼠标点击一下,你会看到一个红色圆圈 变红的地方,程序执行到,就会暂停 断点应该加在报错之前 绿色箭头表示快速跳到下一个断点执行 控制台报错,点击你能看懂的最后一行,光标会 ...