运维就要无所不能,无所不会
大家好,我是Stanley「史丹利」,今天聊 Linux
下rm
危险命令禁用,昨天我们终于把集团剩余的1200台服务器禁用rm命令了。
运维作为系统中上帝角色的存在,即有无上权利又有无穷破坏力。
在从业生涯中,曾有多次禁用root
,回收运维权限的安全方案,但效果均不如预期或最终不了了之!究其原因,运维在生产中很多场景不得不使用到root
权限,才能使得工作如期进行。
过往的安全方案有:
root
权限,启用 sudo
方式,设置命令黑白名单root
登录, 设置异名root
,即将普通用户uid
强行修改为0其中1,2充其量只是增加了权限审计,真正使用时系统命令几乎全开,reboot, shutdown, fsck.ext* 等命令禁用。
方案3绝大多数公司因技术实力原因无法实现。
如上3种方案均无法规避运维误删除文件的行为。 针对类似如下误删除行为完全失效。
总结下来,避免误删除操作的方案最少需要具体如下几个特点:
所以,我们的方案是使用 saferm.sh 替换系统级别 rm 命令。
原版脚本下载路径:https://github.com/lagerspetz/linux-stuff/blob/master/scripts/saferm.sh
针对原版脚本我们增加了如下功能:
image-20210907090905721
脚本逻辑
脚本演示
支持NFS版本的下载如下: