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

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

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

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

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

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

二、配置一个范例

1、创建一个新用户

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

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

#My sudo configuration
User_Alias OLD_ADMINS=wt
Runas_Alias OP=root
Cmnd_Alias USERCMD=/usr/sbin/useradd OLD_ADMINS ALL=(OP) USERCMD

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

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

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

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

三、配置日志审计

1、配置日志审计

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

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

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

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

 [root@WT ~]# cat /var/log/sudo.log
Sep :: : wt : TTY=pts/ ; PWD=/home/wt ; USER=root ;
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. JavaScript返回格式化的时间字符串

    http://www.w3school.com.cn/jsref/jsref_getMinutes.asp 由 getMinutes() 返回的值是一个两位的数字.不过返回值不总是两位的,如果该值小于 ...

  2. java快速复习 一 基础语法

    最近看很多算法书,比较不错的有不少都是java语言描述,所以用一天时间快速研究并整理java  ,参考资料:java入门经典 Call this file "Example2.java&qu ...

  3. python CGI编程-----简单的本地使用(1)

    本章节需要安装python开发工具,window平台安装地址:https://www.python.org/downloads/windows/,linux安装地址:https://www.pytho ...

  4. oracle插入,更新,删除数据

    插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...

  5. python3 之 面向对象(类)、继承、派生和多态

    类提供了一种 组合数据和功能 的方法.创建一个新类意味着:创建一个新 类型  的对象,从而允许创建一个该类型的新 实例. 每个类的实例可以拥有: 保存自己状态的属性. 一个类的实例也可以有改变自己状态 ...

  6. scrapy知识补充--scrapy shell 及Spider

    什么是scrapy shell? Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试xpath或css表达是,来查看他们的工作方式,方便爬取页面中的数据 ...

  7. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(1)- Boot简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的BootROM功能简介. 截止目前为止i.MX RTxxx系列已公布的芯片仅有一款i.MXRT60 ...

  8. Python下定义输出日志

    # 话不多说,直接看代码,,, # -*- coding:UTF-8 -*- # python version: 2.7.15 #脚本名, 日志名,日志路径 import os import sys ...

  9. 把一个控制器的view添加到另外一个控制器

  10. 一条数据的HBase之旅,简明HBase入门教程2:数据模型

    [摘要] 上一篇文章讲了HBase项目与应用概况信息,这篇文章讲述HBase的数据模型以及一些基础概念,数据模型可以说决定了HBase适合于什么应用场景. 华为云上的NoSQL数据库服务CloudTa ...