概述
实施对普通用户的监控
用户的监控,对普通用户监控可以实时观察到普通用户的使用情况,为了更好保护我们管理的系统或者服务器,我们都有权利对普通用户进行监控;在超级管理员 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 "[ 33[31m fault 33[0m] 用户不存在,请重新输入!"
else
echo -e "[ 33[32m successful 33[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 "[ 33[32m successful 33[0m]正在执行监控"
sleep 1;echo -n "." ; sleep 1;echo -n ".";sleep 1;echo -n "."
echo ""
;;
no) #如果输入no就执行stop函数
stop
echo "监控已取消..."
;;
*)
echo -e "[ 33[31m fault 33[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
本章节描述的内容是针对普通用户的监控脚本,此脚本的目的是为了对近一步提高管理服务器的安全性,和更加准确有效的进行监管采取的措施。以上代码可直接复制粘贴使用,希望大家喜欢…
最后
以上就是大力老鼠为你收集整理的linux 超级管理员对存在的普通用户实施监管实战脚本...的全部内容,希望文章能够帮你解决linux 超级管理员对存在的普通用户实施监管实战脚本...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复