前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下禁用rm命令

CentOS7下禁用rm命令

作者头像
运维部落
发布2021-09-22 14:48:52
2.5K0
发布2021-09-22 14:48:52
举报
文章被收录于专栏:运维部落运维部落

运维就要无所不能,无所不会

大家好,我是Stanley「史丹利」,今天聊 Linuxrm危险命令禁用,昨天我们终于把集团剩余的1200台服务器禁用rm命令了。

运维作为系统中上帝角色的存在,即有无上权利又有无穷破坏力

在从业生涯中,曾有多次禁用root,回收运维权限的安全方案,但效果均不如预期或最终不了了之!究其原因,运维在生产中很多场景不得不使用到root权限,才能使得工作如期进行。

过往的安全方案有:

  1. 回收root权限,启用 sudo方式,设置命令黑白名单
  2. 禁止root登录, 设置异名root,即将普通用户uid强行修改为0
  3. 全面回收运维的服务器登录权限,所有指令通过UI WEB产品化实现

其中1,2充其量只是增加了权限审计,真正使用时系统命令几乎全开,reboot, shutdown, fsck.ext* 等命令禁用。

方案3绝大多数公司因技术实力原因无法实现。

如上3种方案均无法规避运维误删除文件的行为。 针对类似如下误删除行为完全失效。

  • 微盟人为删库事件,一度引发商业信任危机
  • 字节跳动实习生删除GB以下所有机器学习模型,历史学习成果全部丢失且不可恢复,P0级事故

总结下来,避免误删除操作的方案最少需要具体如下几个特点:

  1. 不改变运维现有使用习惯
  2. root权限尽可能保留

所以,我们的方案是使用 saferm.sh 替换系统级别 rm 命令。

原版脚本下载路径:https://github.com/lagerspetz/linux-stuff/blob/master/scripts/saferm.sh

针对原版脚本我们增加了如下功能:

  1. 增加NFS共享磁盘方案,删除文件默认存放NFS,如NFS异常才会存放 ~/Trash ,且支持多用户
  2. 增加删除文件大小判断,超过500M的文件只提示不删除,避免文件过大导致网络堵塞

使用说明

image-20210907090905721

脚本逻辑

脚本逻辑

使用演示

脚本演示

支持NFS版本的下载如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用说明
  • 脚本逻辑
  • 使用演示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档