创建审计管理员

创建用户

创建个用户名称为auditduser,将新账户的登录 shell改为/bin/rbash,家目录指定为/home/audituser

  1. useradd auditduser -s /bin/rbash -d /home/audituser
  2. #创建密码
  3. passwd auditduser

rbasb介绍

如果 bash 以 rbash 为程序名启动,则启动的这个 shell 会在某些功能上受限制。

创建rabsh

  1. ln -s /bin/bash /bin/rbash

修改用户将到哪些目录中寻找命令或程序

  1. [root@localhost ~]# cat /home/audituser/.bash_profile |grep PATH
  2. PATH=$HOME/bin

创建bash_profile中PATH的目录

  1. mkdir /home/audituser/bin

修改用户.bash_profile以及.bashrc的权限,让其无法修改,避免越权

  1. chown root:root /home/audituser/.bashrc
  2. chown root:root /home/audituser/.bash_profile

将允许的特定命令,如:cat、head、tail命令赋予给auditduser用户,实现审计用户功能

  1. ln -s /bin/cat /home/audituser/bin/cat
  2. ln -s /bin/head /home/audituser/bin/head
  3. ln -s /bin/tail /home/audituser/bin/tail

验证

此时登录auditduser用户进行执行授权外的命令。

  1. [root@localhost log]# su - auditduser
  2. 上一次登录:六 3 26 22:16:14 CST 2022pts/5
  3. [auditduser@localhost ~]$ ls
  4. -rbash: ls: 未找到命令
  5. [auditduser@localhost ~]$
  6. [auditduser@localhost ~]$ rm
  7. -rbash: rm: 未找到命令
  8. [auditduser@localhost ~]$
  9. [auditduser@localhost ~]$

验证赋予的允许执行命令的权限

  1. [auditduser@localhost ~]$ cat
  2. ^C
  3. [auditduser@localhost ~]$ head
  4. ^C
  5. [auditduser@localhost ~]$ tail
  6. ^C

发现未报错,但没有任何输出,为何呢?因为这几个命令都需要跟一个需要查看的文件名称。

赋予审计用户查看特定的日志文件

  1. [root@localhost ~]# ln -s /var/log/ /home/audituser/log
  2. 赋予一个ls命令给审计用户
  3. 将日志文件划分给审计用户查看的权限
  4. [root@localhost ~]# ln -s /bin/ls /home/audituser/bin/ls
  5. [root@localhost ~]# usermod -G audituser auditduser
  6. [root@localhost ~]# chown -R root:auditduser /var/log/
  7. [root@localhost ~]# chmod -R 774 /home/audituser/log/

验证截图