> 健康
开发人员的一条命令导致服务器差点崩溃的原因是(开发人员命令提示)
导语:开发人员的一条命令导致服务器差点崩溃!
有一天,我正在午休,有一位同事急匆匆的过来找我,说他不小心执行错了一条命令,然后就怎么也连不上了开发服务器,而且他之前设置的每分钟执行的定时任务好像也没有生效。
我连了一下开发服务器,确实连不上。然后我问他刚才执行的是什么命令。
他告诉我,他执行了 chmod -R 777 /
完蛋 !
系统上的很多文件权限如果太大会报错,
比如秘钥文件 authorized_keys
而且系统上有一些特殊的权限,比如 setuid ,粘滞位(t)等等
唉! 一般开发人员是没有root权限的,即使是开发服务器也不会给root权限,
但这个同事是刚来的项目经理,老大说先给他一下root权限,他要装一下自己的环境。
既然出了事就得解决, 可是服务器现在已经连不上去了,
幸好我们使用 saltstack 统一管理的服务器,
我用 saltstack 执行下面的命令看下能否连上那台服务器
很好,saltstack 正常执行命令就好办了, 要不然我只能用镜像恢复服务器了。
1、首先得想办法恢复ssh相关文件的权限,能连上那台服务器就好办很多。
我连到salt-master服务器上 ,开始执行恢复操作:
在salt-master 远程执行setfacl命令有问题,需要到误操作那台服务器上去执行cd /
setfacl --restore=/tmp/acl.bak
acl.bak 里面的文件路径也是相对根目录的
大功告成,现在权限已经恢复了!
亡羊补牢的错误:
1、不允许开发人员有root权限! 即使 是开发服务器也不行!有需要root操作的可以让运维代劳
2、把history 实时的同步到远程服务器或elk,防止背锅!
本文内容由小奈整理编辑!