zoukankan      html  css  js  c++  java
  • 怎样阻止Linux服务器执行rm -rf /*命令

    自己在Debian 9.9上测试成功,请结合您操作系统的环境,谨慎操作,在进行测试时候尽量先使用一个临时目录,若由于你的不正确操作造成的后果与本人无关
    

      

    众所周知,Linux中的rm -rf /*命令是一条灾难性的命令.因此有的运维人员想一些办法来禁止这条命令的执行,今天演示一个简单的
    

      

    今天我们使用的是替换rm命令的方法,然后做一个简单的配置,让系统不能执行rm -rf /*

    1.下载safe-rm

    实际上有这一个工具,也就是safe-rm命令,我们用来替换rm就行了,实际上safe-rm就是一个删除命令,只不过呢它可以通过配置文件来做一些过滤.
    官网下载https://launchpad.net/safe-rm/+download
    我直接下载0.12版本

    wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz
    

      

    2.替换系统的rm命令

    # 解压
    tar -zxvf safe-rm-0.12.tar.gz
    # 将safe-rm命令复制到系统的/usr/local/bin目录
    cp safe-rm-0.12/safe-rm /usr/local/bin/
    # 创建链接,将safe-rm替换rm
    ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
    

      

    此时已经替换掉rm命令,为了确保环境变量有效,我们将/usr/local/bin目录设置在所有PATH环境变量之前.先更改/etc/profile文件,在文件末尾追加以下代码

    PATH=/usr/local/bin:$PATH
    

      

    编辑完毕之后,为了让环境变量在整个系统全局生效,我们重启操作系统.重启之后执行rm命令就相当于执行safe-rm了
    

      

    3.设置过滤目录

    过滤目录将不被删除,编写 /etc/safe-rm.conf 文件,添加自己需要过滤的目录,以下是配置示例,实际上要根据你的需求来

    / 代表过滤 /
    /* 代表过滤 / 下面的所有文件

    在以上代码中,我过滤掉safe-rm所在目录和其链接所在目录,除此之外,还过滤其配置文件,这样的话可以一定程度上做到安全防护了
    

      

    如果配置文件中,有 /root/test/123 这样一条规则,那么删除/root/test/123文件时会被过滤掉,但是删除/root/test时能成功删除,因此不支持递归的规则,那么配置文件我们应该写成以下格式

     

    原文:https://blog.csdn.net/qq_34330286/article/details/103456200

  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/13778221.html
Copyright © 2011-2022 走看看