章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

    • rsync

      • rsync用法及参数详解
      • rsync服务实现推送,拉取
    • dns

    • sed、awk、grep、find四剑客

    • LVM管理
    • sudo权限规划
    • linux修改网卡为eth0的两种方法
    • Logrotate入门了解及生产实践
    • linux中用dd命令来测试硬盘读写速度
    • linux 阿里云盘挂载错误
    • CentOS7安装Android SDK
    • centos7安装更新git
    • linux启动顺序
    • centos7升级openssl
    • expect工具的安装和使用方法
    • linux下使用v2ray
    • centos7安装java环境的两种方式
    • linux-centos7系统设置时区及同步时间
    • rsyslog日志系统:rsyslog配置文件
    • rsyslog的安装、使用、详解
    • safe-rm防止删除重要的文件
      • 安装 safe-rm 工具
      • 配置 PATH 环境变量(按需配置)
      • 创建 safe-rm 配置文件,添加保护名单
      • 测试 save-rm 是否生效
      • 使用系统默认的删除命令
    • linux如何获取打开文件和文件描述符数量
    • LVS集群-DR模式
    • linux服务器安装ffmpeg
    • linux服务器安装samba
    • 使用openssl创建自签发证书
    • linux服务器部署next.js服务
    • linux服务器ionice命令使用方式
    • linux服务器curl命令常用操作
  • windows

  • 中间件

  • 网络

  • 安全

  • 存储

  • 防火墙

  • 数据库

  • 系统

  • docker

  • other

  • 监控

  • 运维
  • linux
章工运维
2024-07-02
目录

safe-rm防止删除重要的文件

很多时候,服务器管理不是一个人在管理,不知道你是否也曾遇到过被同事或者好友执行sudo rm -rf /那种痛苦的感觉无言以对,其实这都是可以避免的,有 软件 (opens new window)可以为我们解决这种问题,我们只需要把禁止删除的文件或者目录即可,下面介绍一下这个 软件 (opens new window)

# 安装 safe-rm 工具

# 下载文件
# wget https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz

# 解压文件
# tar -xvf safe-rm-0.12.tar.gz

# 拷贝可执行文件
# cd safe-rm
# cp safe-rm /usr/local/bin/

# 建立软链接
# ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
1
2
3
4
5
6
7
8
9
10
11
12

# 配置 PATH 环境变量(按需配置)

# 确保PATH环境变量中,存在/usr/local/bin路径,且/usr/local/bin路径排在/usr/bin路径前面
# 一些脚本中使用完全路径/bin/rm或者/usr/bin/rm则不会受safe-rm影响
# echo $PATH
.. /usr/local/bin:/usr/local/sbin:/usr/bin ...

# 如果PATH环境变量不符合上面说的要求,则手动配置PATH环境变量
# vim /etc/profile
export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:$PATH

# 如果修改了PATH环境变量,执行命令使修改生效
# source /etc/profile
1
2
3
4
5
6
7
8
9
10
11

# 创建 safe-rm 配置文件,添加保护名单

# 默认的safe-rm配置文件有以下两个,需要自行创建

全局配置:/etc/safe-rm.conf
用户配置:~/.safe-rm

# 创建全局配置文件
# touch /etc/safe-rm.conf

# 添加保护名单
# vim /etc/safe-rm.conf
/
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/lib32
/lib64
/proc
/root
/sbin
/sys
/usr
/usr/bin
/usr/include
/usr/lib
/usr/local
/usr/local/bin
/usr/local/include
/usr/local/sbin
/usr/local/share
/usr/sbin
/usr/share
/usr/src
/var
/etc/safe-rm.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 测试 save-rm 是否生效

# 创建测试文件
# touch /home/test.txt

# 追加需要保护的文件路径到配置文件中
# vim /etc/safe-rm.conf
/home/test.txt

# 测试删除受保护的文件路径,如果输出skipping日志代表safe-rm生效
# rm /home/test.txt
# rm -rf /home/test.txt
safe-rm: skipping /home/test.txt

# 注意:
# 配置文件里面的/etc只能保证执行"rm -rf /etc"命令的时候不能删除,但是如果执行"rm -rf /etc/app",还是可以删除app文件的
# 如果想保证某个目录下面的所有文件都不被删除,则配置文件里可以写成/etc/*,但使用通配符的方式无法避免/etc目录下链接文件被删除
# 例如/lib或/lib64这种目录,下面会有很多库文件对应的链接文件,使用safe-rm并不能保护链接文件被删除
# 建议将/etc/safe-rm.conf加入到保护名单中,防止/etc/safe-rm.conf被删后配置失效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 使用系统默认的删除命令


1
微信 支付宝
上次更新: 2024/11/08, 12:33:03

← rsyslog的安装、使用、详解 linux如何获取打开文件和文件描述符数量→

最近更新
01
shell脚本模块集合
05-13
02
生活小技巧(认知版)
04-29
03
生活小技巧(防骗版)
04-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式