linux 超级管理员对存在的普通用户实施监管实战脚本...

实施对普通用户的监控

用户的监控,对普通用户监控可以实时观察到普通用户的使用情况,为了更好保护我们管理的系统或者服务器,我们都有权利对普通用户进行监控;在超级管理员 root 的眼里,普通用户做什么都可以看到。这么强大实用的脚本,我们就一起来学习探讨。

脚本代码:

[root@deng- order]# vim monit.sh 
#!/bin/bash
#通途:实施全方位的监管
#版本号:3.0.10.0
#开发者:酋长rosen
#联系方式:https://blog.csdn.net/weixin_42867972

while [ 1 -lt 2 ]               #执行重复循环判断
do
        read -p "请输入用户名" name      #交付式输入监管用户名
        id $name >/dev/null 2>&1        #判断用户名是否存在
        if [ $? -ne 0 ]                 #用户存在会等于0,不存在不等于0
        then
            echo -e "[\033[31m fault \033[0m]  用户不存在,请重新输入!"    
        else
            echo -e "[\033[32m successful \033[0m]  用户存在,可实行监控!" 
            read -p "是否实行监控:实行监控 [yes];取消监控 [no] " aff   #交付式输入确认是否进行控

his="/home/$name/.bash_history"   #赋值变量,针对对于频繁重复输入的值
pro="/home/$name/.bash_profile"

start(){                        #函数start
        chattr -a $his          #减去.bash_history的Attr特殊权限a
        chattr -a $pro          #减去.bash_profile的Attr特殊权限a
        touch $his              #创建对应的用户.bash_history文件
        chown $name $his        #修改文件所有者
        chmod 600 $his          #修改权限为600
        echo 'PROMPT_COMMADN="history -a ; readonly PROMPT_COMMAND"' >> $pro
        echo 'export PROMPT_COMMADN' >> $pro    #在原来基础上的文件追加输入
        chattr +a $his          #给文件.bash_history加上Attr特殊权限a
        chattr +a $pro          #给文件.bash_profile加上Attr特殊权限a
}

stop(){                         #函数stop
        chattr -a $his          ##减去.bash_history的Attr特殊权限a      
        chattr -a $pro          ##减去.bash_profile的Attr特殊权限a
        sed -i '{d}' $his       #清空.bash_history内容
        sed -i '/PROMPT/{d}' $pro #删除.bash_profile添加的内容  
}
    case $aff in        #yes或no的对变量进行判断
        yes)            #如果输入yes就执行start函数
        start
      echo -en "[\033[32m successful \033[0m]正在执行监控" 
       sleep 1;echo -n "." ; sleep 1;echo -n ".";sleep 1;echo -n "."
      echo ""
        ;;
        no)             #如果输入no就执行stop函数
        stop
      echo "监控已取消..."
        ;;
        *)
      echo -e "[\033[31m fault \033[0m]  please enter [yes] or [no]"    
     esac
        fi
        break
done

实施效果
对普通用户进行的监管,管理员只要在用户目录下察看 .bash_history 文件就可很清楚的观察到普通用户的一举一动。

[root@deng- ~]# cat /home/rosen/.bash_history 
cd /home/
cd rosen/
ls -lia
cd /etc/
cat passwd
cd /
exit
......

注意:这监管脚本的时效性并不是很高,要等到普通用户退出后在次察看才能观察的到,可能还会有延时。

脚本思路:

1、通过输入用户名进行判断用户是否存在,交互式进行输入
2、只有用户存在的情况下才能进行下一步是否实行监管的输入确认
3、对于一下频繁输入的内容进行赋值变量,让脚本代码变得简单明了
4、用函数 start 、stop 定义,执行并且输入输出相关内容。(函数名可以自己定义)
5、运用 sys-V 风格,对输入的 yes|no 进行判断,执行对应函数的操作
6、对于已经处于监控的用户,重复操作会把前面保留下来的监控数据清空(处于正在监控的脚本就不要重复执行脚本)

输出 “echo $PATH” 寻找脚本摆放的位置(默认首先第一个)其他路径也是可以的呢
把脚本放到 “/usr/local/sbin” 并且改名 “update-ipname” (名字可以自定),下次输入命令的时候按下“TAb”键补全就可以看到我们自己写的脚本了呢!

[root@server10 order]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin    
[root@server10 order]# cp monit.sh /usr/local/sbin/monit

本章节描述的内容是针对普通用户的监控脚本,此脚本的目的是为了对近一步提高管理服务器的安全性,和更加准确有效的进行监管采取的措施。以上代码可直接复制粘贴使用,希望大家喜欢…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值