宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

这篇文章主要讲解了“Linux系统sudo命令详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统sudo命令详解”吧!

目录

0x01 介绍

0x02 别名

0x03 授权规则

0x04 注意事项

0x05 sudo命令用户行为日志审计

0x01 介绍

sudo的配置文件是/etc/sudoers,在sudoers中每一行就是一个规则,当规则超过一行的话,可以使用“\”来进行续行,它的规则大致可分为两类,一类是别名定义,另一类是授权规则,别名定义并不是必须的,只是在授权规则多的时候会更加方便,授权规则是必须的。

0x02 别名

别名类型主要包括以下四种

Host_Alias  主机别名User_Alias  用户别名Runas_Alias  用户身份别名Cmnd_Alias  命令别名

Host_Alias

主机别名是指定要在哪一个主机上生效,我们一般是不用的,只有在共享的多系统中才会使用到,使用ALL就可以了,它对应的是第一个ALL

Linux系统sudo命令详解-冯金伟博客园

定义的格式是这样的

Host_Alias FILESERVERS = fs1, fs2

User_Alias

用户别名是指定生效用户的,它可以针对用户也可以针对用户组,如果是用户组的话,前面需要加%

Linux系统sudo命令详解-冯金伟博客园

定义格式是这样的

User_Alias ADMINS = admin, balabala, %groupname

Runas_Alias

用户身份别名即sudo允许切换到的用户身份

Linux系统sudo命令详解-冯金伟博客园

定义格式是这样的

Runas_Alias OP = root, wuxin

Cmnd_Alias

命令别名就是定义一组相关命令的集合

Linux系统sudo命令详解-冯金伟博客园

定义格式是这样的

Cmnd_Alias PROCESSES = /bin/nice, /bin/kill

那么我们什么时候使用这些别名呢,一般是有多个系统用户,需要进行分类和分层次管理的时候才需要使用,至于如何配置就按照实际需求来进行更改就可以了,其实就是把一大堆的命令内容缩减为简单的变量。

0x03 授权规则

对于规则来说,看看前面的例子就很明确了,之前的文章也提到了每一项所代表的含义,下面举一个例子就很明确了

我们先进行一下编辑操作

Linux系统sudo命令详解-冯金伟博客园

然后我们切换到test用户下,查看一下可以执行的命令

Linux系统sudo命令详解-冯金伟博客园

0x04 注意事项

1.授权规则里的ALL,必须为大写字母

2.Cmnd_Alias执行命令是有顺序的,命令的顺序是从后向前的,尽量把禁止的命令放在后面

3.如果内容超过了一行一定要使用“\”来换行

0x05 sudo命令用户行为日志审计

sudo命令日志审计,并不记录普通用户的普通操作,而是记录执行sudo命令的用户操作

第一个方法是,通过环境变量及rsyslog服务进行全部日志审计,这样的做的问题就是产生的信息量太大,所以不推荐这么做。

第二个方法,sudo配合rsyslog服务进行日志审计,信息量还是比较少的,效果还可以

第三个方法,在bash解释器程序中嵌入一个监视器,让所有被审计的系统用户使用修改过的bash程序作为解释程序

第四个方法,开源的跳板机jumpserver(python)

第五个方法,花钱买商业版的服务

这里用第二个方法来说明

首先我们先编辑一下rsyslog.conf文件

Linux系统sudo命令详解-冯金伟博客园

然后修改/etc/sudoers文件

Linux系统sudo命令详解-冯金伟博客园