linux中指令屏蔽,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*

摘要

我认为Linux上这是一个必须添加的功能,必须屏蔽rm / 、rm /* 、rm -rf / 、rm -rf /*,不怕恶意去执行就怕无意中招让自己gg了

还是一键脚本吧

wget http://www.dwhd.org/script/securityremove.sh

bash securityremove.sh

具体效果见图

477af7e5811885ca9a47b6a96cc762db.png

部署脚本源码

#!/bin/bash

#########################################################################

# File Name: securityremove.sh

# Author: LookBack

# Email: admin#dwhd.org

# Version:

# Created Time: 2015年08月16日 星期日 01时47分37秒

#########################################################################

wget -q http://www.dwhd.org/script/securityremove -O /bin/securityremove

chmod 755 /bin/securityremove

[ -f /etc/bash.bashrc ] && (sed -i "/securityremove/d" /etc/bash.bashrc && echo 'alias rm="/bin/securityremove"' >> /etc/bash.bashrc && . /etc/bash.bashrc)

[ -f /etc/bashrc ] && (sed -i "/securityremove/d" /etc/bashrc && echo 'alias rm="/bin/securityremove"' >> /etc/bashrc && . /etc/bashrc)

[ -f /root/.bashrc ] && (sed -i "/alias rm/d" /root/.bashrc && echo 'alias rm="/bin/securityremove"' >> /root/.bashrc && . /root/.bashrc)

[[ -f "~/.bashrc" && "$USER" != "root" ]] &&(sed -i "/alias rm/d" ~/.bashrc && echo 'alias rm="/bin/securityremove"' >> ~/.bashrc && . ~/.bashrc)

核心源码

20104a17b5056de00a00bb32e6d63751.png

#!/bin/bash

#########################################################################

# File Name: securityremove.sh

# Author: LookBack

# Email: admin#dwhd.org

# Version:

# Created Time: 2015年08月16日 星期日 01时47分37秒

#########################################################################

RMARGS="${@}"

RMPATH="/bin/rm"

sys1dir=$(ls / | sed 's/^/\//' | tr "\n" " " | sed 's/.$//')

[ "${RMARGS}" == "" ] && ${RMPATH} && exit

SBRUN() {

echo -ne "\033[41;37mWhy run this command\033[0m\n"

exit 255

}

if grep "$sys1dir" <<< $RMARGS >/dev/null 2>&1; then SBRUN;fi

for i in ${@};do [ "$i" = "/" ] && SBRUN ;done

if [ "${RMARGS}" == '-h' ] || [ "${RMARGS}" == '--help' ];then

${RMPATH} ${RMARGS}

else

while [ "${confirm}" != "yes" ] && [ "${confirm}" != "no" ]; do

echo -ne "You are going to execute \"${RMPATH} \033[41;37m${RMARGS}\033[0m\",please confirm (yes or no):"

read confirm

done

[ "${confirm}" == "yes" ] && ${RMPATH} ${RMARGS} || exit

fi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值