linux 避免删除导致的事故

一.慎用root命令

不要使用root权限的用户进行日常操作,改用带root权限的用户

adduser aaa
passwd aaa

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
aaa    ALL=(ALL)     ALL

在aaa用户下,即使输入 rm -rf /* 也没关系了,会出现 Permission Denied

这样就可以避免错误命令 让linux系统崩溃了

二.使用rm命令,改用mv替代

root权限下
1、在linux下任意位置创建脚本文件

vim trashgo.sh

2、然后将下面的脚本复制到trashgo.sh

#!/bin/bash

yum install -y wget

wget https://raw.githubusercontent.com/LinkinStars/linux-stuff/master/scripts/saferm.sh

sudo mv saferm.sh /bin

chmod 777 /bin/saferm.sh

if cat ~/.bashrc | grep "alias rm=saferm.sh">/dev/null
then
echo "exist"
else
echo "
alias rm=saferm.sh" >> ~/.bashrc
fi

source ~/.bashrc

3、然后执行

source trashbin.sh

这样执行 rm 后 ,实际执行的是 mv 文件 $HOME/Trash

$HOME 是用户目录,比如用户aaa的 $HOME 就是 /home/aaa

4 、可以修改垃圾桶位置 (不想改位置可忽略)
垃圾桶脚本的位置是在/bin/saferm.sh
其中 trash_fallback 可以修改垃圾桶所在的位置

## trashbin definitions
# this is the same for newer KDE and GNOME:
trash_desktops="$HOME/.local/share/Trash/files"
# if neither is running:
trash_fallback="$HOME/Trash"

5、定期清理垃圾桶
在/user/bin创建删除脚本deleteTrash.sh


#!/bin/bash
find $HOME/Trash -exec rm -rf {} \;
 
echo "删除文件成功!";

授权

chmod a-x deleteTrash.sh

找到/etc/crontab文件,添加下面一行

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
 
* * 1 * * root /usr/bin/deleteTrash.sh
#每月一号执行以root身份执行deleteTrash文件;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值