在Linux服务器上,用rootsh可以记录各用户登入root用户时的操作记录,可以用作合规审查。

〇、环境说明

本文操作环境是CentOS 7.5 1804
需要安装epel源(阿里云已经集成epel源,可以直接安装)

一、rootsh安装

1、安装epel源

yum install -y epel

2、安装rootsh

yum install -y rootsh

二、配置rootsh

让用户只能用sudo打开rootsh,强制使用rootsh操作留下操作记录。
打开sudoer配置文件”/etc/sudoers”,在结尾写如下内容:

deer    ALL=(ALL)   NOPASSWD:/usr/bin/rootsh
# deer为用户名
# "NOPASSWD:"表示用户在用sudo命令打开rootsh的时候不需要输入用户密码
# "/usr/bin/rootsh"是rootsh所在目录,可以用"which rootsh"命令查看rootsh所在位置

三、使用rootsh

使用用户账户登录系统,然后使用如下命令进入root账户:

sudo rootsh --no-syslog
# "--no-syslog"表示不将操作记录写入syslog,写入syslog可以将操作记录传到syslog配置的服务端,如果没有配置syslog服务器可以不开启,日志会记录在"/var/log/rootsh/"目录。

四、查看操作记录

操作记录存储在”/var/log/rootsh/”目录下,以”用户名.日期时间.xxx.closed”格式的文件名存储。
若文件名没有”.closed”则表示用户当前在线,或者没有正常使用exit命令退出。

五、注意事项

不要在正在操作的终端用”tail -f”命令打开本终端的日志记录,会导致循环输出,无法正常查看。