前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux sudo详解

Linux sudo详解

作者头像
信安本原
发布2020-03-08 18:15:17
2K0
发布2020-03-08 18:15:17
举报
文章被收录于专栏:信安本原

先说一下为什么最近一直在学Linux的相关内容,其实也并没有偏离之前的想法,对于Linux的运用还是很重要的,如果连运维对服务器做了什么都不清楚还谈什么其他操作。

目录

0x01 介绍

0x02 别名

0x03 授权规则

0x04 注意事项

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

0x01 介绍

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

0x02 别名

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

代码语言:javascript
复制
Host_Alias  主机别名User_Alias  用户别名Runas_Alias  用户身份别名Cmnd_Alias  命令别名

Host_Alias

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

定义的格式是这样的

代码语言:javascript
复制
Host_Alias FILESERVERS = fs1, fs2

User_Alias

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

定义格式是这样的

代码语言:javascript
复制
User_Alias ADMINS = admin, balabala, %groupname

Runas_Alias

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

定义格式是这样的

代码语言:javascript
复制
Runas_Alias OP = root, wuxin

Cmnd_Alias

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

定义格式是这样的

代码语言:javascript
复制
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill

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

0x03 授权规则

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

我们先进行一下编辑操作

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

可以看到执行权限和可以执行的命令,而且想要切换到root用户是需要密码的,这样就实现了一个简单的权限区分,比如区分开发和运营等的权限

如果我们去掉test用户,在执行sudo的时候就不会运行执行了

0x04 注意事项

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

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

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

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

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

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

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

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

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

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

这里用第二个方法来说明

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

在其中添加一行代码

然后修改/etc/sudoers文件

然后重启服务,之后就可以看到日志文件了

当然这个是在一台机子的情况下的,也可以通过其他方式来进行集中管理,可以使用rsync+inotify或者定时任务+rsync来将日志推送到日志服务器,我们在实际的渗透中,如果对方服务器的日志是同步日志服务器的话还是很蛋疼的一件事。

如果对你有帮助,请点击在看或者转发

都是对我的一种支持

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无心的梦呓 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档