CentOS:限制执行rm -rf

我们经常在发布部署服务的时候,由于长时间工作可能操作失误删除某些不能删除文件,甚至有时候不小心直接rm -rf / 删除系统根目录,为了防止误操作rm -rf /,或者rm -rf 一些比较重要的目录,我们做以下操作来限制rm的删除

1、下载源码安装包

复制代码
wget https://raw.githubusercontent.com/bazingafraser/cv/master/article/rm/safe-rm-0.12.tar.gz

2、解压并修改配置

复制代码
[root@izuf62598fraqjv0qztcmvz ~]# tar -xvzf safe-rm-0.12.tar.gz
[root@izuf62598fraqjv0qztcmvz ~]# cd safe-rm-0.12
[root@izuf62598fraqjv0qztcmvz safe-rm-0.12]# mv  safe-rm /usr/local/bin/rm
[root@izuf62598fraqjv0qztcmvz safe-rm-0.12]# chown root:root /usr/local/bin/rm
[root@izuf62598fraqjv0qztcmvz safe-rm-0.12]# vi /etc/profile

PATH=/usr/local/bin:/bin:/usr/bin:$PATH
[root@izuf62598fraqjv0qztcmvz ~]# source /etc/profile    
[root@izuf62598fraqjv0qztcmvz ~]# vim /etc/safe-rm.conf

将禁止删除的目录写入该文件,每个目录一行

复制代码
/
/boot
/sbin
/data/xxx

esc > :wq 保存退出即可

3、测试

在/data创建一个xxx的目录并写入/etc/safe-rm.conf

保存退出之后删除xxx出现以下返回,证明操作成功

复制代码
[root@izuf62598fraqjv0qztcmvz ~]# rm -rf  xxx/
safe-rm: skipping xxx/
相关推荐
yyuuuzz6 分钟前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
utf8mb4安全女神6 分钟前
MySQL8.0.43的下载安装【二进制安装】【shell脚本】【环境准备】【my.cnf配置】【修改密码】
linux·服务器·网络
凡人叶枫13 分钟前
Effective C++ 条款33:避免遮掩继承而来的名字
linux·服务器·开发语言·c++·嵌入式开发
凡人叶枫13 分钟前
Effective C++ 条款31:将文件间的编译依存关系降至最低
linux·开发语言·c++·php·嵌入式开发·effective c++
MXsoft61817 分钟前
**用自动化脚本给MAC误阻断留条后路:可审计、可回滚的准入控制方案**
运维·macos·自动化
ai_coder_ai34 分钟前
在自动化脚本中如何调用大语言模型?
运维·语言模型·自动化
冰帆<43 分钟前
[特殊字符] 深度起底:突破火山引擎 Ark-Helper 的 Linux 底层环境死锁,顺手魔改一份 Windows 一键安装脚本!
linux·windows·火山引擎
我星期八休息1 小时前
Linux系统编程—mmap文件映射
java·linux·运维·服务器·数据库·mysql·spring
java_cj1 小时前
从kubectl源码学pprof:生产环境性能分析的实战指南
运维·云原生·容器·kubernetes
2301_777998341 小时前
Linux:文件系统
linux