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/
相关推荐
tedcloud123几秒前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
AAA代码批发商6 分钟前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
七夜zippoe44 分钟前
DolphinDB 运维工具实战:自动化脚本体系设计与落地(2.0.x)
运维·dolphindb·自动化脚本·体系设计·体系落地
玉&心1 小时前
在Docker中部署前端和后端的实现
运维·docker·容器
额额额对了1 小时前
Linux 数据库开发实战:使用 C 语言与 SQLite3 构建轻量级终端词典
linux·数据库·oracle
爱笑鱼1 小时前
Android 系统启动机制(六):Zygote 创建 App 为什么走 Socket?哪些是源码事实,哪些是架构解释?
android·linux
2601_962299881 小时前
Linux下运行Python脚本
linux·python·ubuntu·脚本·命令
wdfk_prog1 小时前
Docker 常用语法与命令:CLI、Dockerfile 与 Compose 速查
运维·docker·容器
Zenova EdgeOS1 小时前
Linux eBPF 工业边缘性能观测实战
linux·服务器·网络
skywalk81632 小时前
通过下载Ubuntu ova文件在Virtual Box快速安装ubuntu
linux·运维·ubuntu·virtualbox