记录一次Linux系统误操作chown导致系统故障的解决方案

引言

前几天下班接到同事的电话,因为执行chown时不小心多个了空格 chown root:root temp/ -R 导致了所有文件的所有者都成了root,新的shell连接不上,还好有一个root级的shell连接着呢,并且是操作的生产环境。

状态

  1. 有一个root的shell连接
  2. 存在测试机,内容差不多

.12 生产机
.19 测试机

解决方案

备份测试机.19的权限信息,在19的机器上运行

getfacl -R / >/tmp/system.bak

在19机器上的tmp目录能看到system.bak
接下来要考虑如何把这个文件上传到12生产机

当时使用scp ssh都无法上传,巧合的是他们属于同一个网段,并且可以互ping通,那么就把system.bak放到nginx的www目录。

通过wget命令,在12生产机下载system.bak
wget http://**.**.**.19/system.bak
此时可以发现,system.bak 下载到了当前目录
通过命令还原权限信息
setfacl --restore=system.bak

稍稍等会儿就可以创建ssh连接了。

结语

做任何chown chmod rm 等命令时一定要谨慎。

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。