避免出现rm -rf /* 这种误操作,服务器禁止使用rm 命令,使用mv 替代
背景:用的Jumpserver跳板机,普通开发者用户直接在Jumpserver命令过滤,禁止使用rm|reboot|shutdown等非标命令
1、普通开发者用户无法使用rm命令
2、管理员可以使用rm命令,rm命令被重新封装
封装过程:
编写/usr/local/bin/rm.sh脚本,脚本内容如下:
#!/bin/bash
mkdir -p /tmp/Recycle
dirpath=/tmp/Recycle
now=`date +%Y%m%d_%H_%M_%S_`
filename=${now}$1
if [ ! -d ${dirpath} ];then
/bin/mkdir -p ${dirpath}
fi
/bin/mv $1 ${dirpath}/${filename}
添加环境变量/etc/bashrc
alias rm='sh /usr/local/bin/rm.sh'
source /etc/bashrc ##环境变量生效
回收站机制,删除多个文件,使用mv移动到回收站:/tmp/Recycle
再通过crontab定时清理回收站目录
find /tmp/Recycle/ -mtime +30 -exec rm -rf {} \;