Linux安全脚本注入
原因与介绍
想着写这个脚本的原因是因为crontab的编辑误按导致清空了我的定时任务,因为 crontab -e 是编辑定时脚本,而 crontab -r 是清空所有定时脚本,而键盘上E和R是挨在一起的......
今天因为这个原因,错误的清空了两次,所以想着做个防呆措施。
我的脚本定位是在 Ubuntu root 用户终端,普通用户终端和其他系统可能会不兼容。
实现原理:
.bashrc末尾加载脚本,重载一些指令的调用
屏蔽 sudo 指令,防止 sudo + 命令 越狱防呆措施
脚本文件
#!/bin/bash
# 在root用户目录下的.bashrc文件末尾source该脚本
function sudo {
echo "你root用户还sudo个锤子!"
}
function crontab {
real_app=/usr/bin/crontab
res=0
for arg in "$@"
do
if [[ "$arg" == "-r" ]] ;then
res=$(($res+1))
echo "危险!!!为了安全禁用了 $arg 该命令!!!依然要执行请使用完整路径:$real_app"
fi
done
if [[ $res == 0 ]];then
$real_app $@
fi
}
function rm {
real_app=/usr/bin/rm
res=0
tmp_err=""
for arg in "$@"
do
if [[ "$arg" == "-r" || "$arg" == "-rf" || "$arg" == "*" || "$arg" == "/" || "$arg" == "/*" ]] ;then
res=$(($res+1))
tmp_err="$tmp_err $arg"
fi
done
if [[ $res < 2 ]];then
$real_app $@
else
echo "危险!!!为了安全禁用了 $tmp_err 命令!!!依然要执行请使用完整路径:$real_app"
fi
}
评论区