首页 > 技术文章 > 生产环境中利用软链接避免"rm -rf /"的方法

leituhaomo 2018-09-25 16:17 原文

 

1.将系统中的rm二进制文件重命名为rm_real;
2.编写脚本rm_shell,rm_shell中主要包含以下内容:
    2.1)路径转换模块,用于将rm_shell参数中的路径转换为绝对路径;
    2.2)路径判断模块,用于判断步骤2.1中转换的绝对路径是否为”/”或者”/*”
    2.3)  提示信息模块,如果步骤2.2中的绝对路径为”/”或者”/*”,则不执行删除动作,只给出提示信息:如果确认删除”/”或者”/*”,请执行”rm_real –rf /”
    2.4)  执行删除模块,对于除了”/”或者”/*”外的其他路径,脚本中调用rm_real进行删除;
3.通过命令”ln –s rm_shell rm”建立软链接;

    完成上述三个步骤的修改后,再执行”rm –rf <path>”时,实际执行的是” rm_shell –rf <path>”,在脚本rm_shell中将<path>转换为绝对路径并进行判断,如果绝对路径为”/”或者”/*”,则不执行删除动作,只给出提示信息;其他路径调用”rm_real –rf <path>”进行删除。

推荐阅读