创建审计管理员
创建用户
创建个用户名称为auditduser,将新账户的登录 shell改为/bin/rbash,家目录指定为/home/audituser
useradd auditduser -s /bin/rbash -d /home/audituser#创建密码passwd auditduser
rbasb介绍
如果 bash 以 rbash 为程序名启动,则启动的这个 shell 会在某些功能上受限制。
创建rabsh
ln -s /bin/bash /bin/rbash
修改用户将到哪些目录中寻找命令或程序
[root@localhost ~]# cat /home/audituser/.bash_profile |grep PATHPATH=$HOME/bin
创建bash_profile中PATH的目录
mkdir /home/audituser/bin
修改用户.bash_profile以及.bashrc的权限,让其无法修改,避免越权
chown root:root /home/audituser/.bashrcchown root:root /home/audituser/.bash_profile
将允许的特定命令,如:cat、head、tail命令赋予给auditduser用户,实现审计用户功能
ln -s /bin/cat /home/audituser/bin/catln -s /bin/head /home/audituser/bin/headln -s /bin/tail /home/audituser/bin/tail
验证
此时登录auditduser用户进行执行授权外的命令。
[root@localhost log]# su - auditduser上一次登录:六 3月 26 22:16:14 CST 2022pts/5 上[auditduser@localhost ~]$ ls-rbash: ls: 未找到命令[auditduser@localhost ~]$[auditduser@localhost ~]$ rm-rbash: rm: 未找到命令[auditduser@localhost ~]$[auditduser@localhost ~]$
验证赋予的允许执行命令的权限
[auditduser@localhost ~]$ cat^C[auditduser@localhost ~]$ head^C[auditduser@localhost ~]$ tail^C
发现未报错,但没有任何输出,为何呢?因为这几个命令都需要跟一个需要查看的文件名称。
赋予审计用户查看特定的日志文件
[root@localhost ~]# ln -s /var/log/ /home/audituser/log赋予一个ls命令给审计用户将日志文件划分给审计用户查看的权限[root@localhost ~]# ln -s /bin/ls /home/audituser/bin/ls[root@localhost ~]# usermod -G audituser auditduser[root@localhost ~]# chown -R root:auditduser /var/log/[root@localhost ~]# chmod -R 774 /home/audituser/log/
