rm -rf /*这个是灾难性的命令:
1、如果是容器的话,记得备份创建镜像或磁盘快照,然后还原
2、如果没有备份的话,做了了RAID5的话也可以恢复
3、如果删除了其他的文件,可通过以下文件修复工具来找回被删的文件
ext4magic:ext3 和 ext4 文件系统设计的数据恢复工具,
TestDisk:强大的开源数据恢复软件。
PhotoRec:同样由TestDisk的开发者开发,适用于恢复特定类型的文件。
Extundelete:专门用于ext3/ext4文件系统的恢复工具。
那么怎么预防呢
以下是一些方法可以帮助防止误用 rm -rf /* 这个命令:
别名(Alias)设置:在 ~/.bashrc 或 /etc/bash.bashrc 中添加以下行:
alias rm='rm -i'
这会使 rm 命令默认进入交互模式,要求用户确认每次删除操作。
使用 safe-rm:安装 safe-rm 工具,它会阻止删除关键系统目录:
sudo apt install safe-rm # 在 Debian/Ubuntu 系统上 alias rm='safe-rm'
创建自定义 rm 函数:在 ~/.bashrc 中添加:
rm() { if [ "$1" = "-rf" ] && [ "$2" = "/" ]; then echo "Error: Attempt to remove root directory prevented." return 1 fi command rm "$@" }
使用 chattr 命令:为关键系统文件添加不可变属性:
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
限制 root 权限:尽量使用普通用户账户,必要时才使用 sudo。
使用 SELinux 或 AppArmor:这些安全模块可以限制特定程序的操作权限。
使用 trash-cli:安装 trash-cli 并创建别名,使删除的文件进入回收站而不是直接删除:
alias rm='trash-put'
定期备份:保持良好的备份习惯,以防意外发生。
教育和培训:确保所有系统用户都了解 rm -rf /* 的危险性。
使用文件系统快照:如 LVM 快照或 ZFS 快照,可以快速恢复误删的文件。
脚本安全检查:在重要的系统脚本中添加安全检查,防止意外的全局删除操作。
这些方法可以大大降低误用 rm -rf /* 的风险,但仍然需要谨慎操作,特别是在使用 root 权限时。最重要的是培养良好的操作习惯和保持定期备份。
网友回复