运维服务小笔记

If not now,when?If not me,who?

十月 18th, 2013

如何恢复linux系统根分区文件权限

560 views, linux, by 川望.
如果不小心将/目录权限搞错了,比如chmod -R 777 /
那么恭喜你,系统将崩溃,系统很多命令无法启动,命令无法执行;
或许你会说,找一台正常的系统照着权限改回来,那么恭喜你,数十万的文件也会让你崩溃。
这时候可以通过系统自带的getfacl命令来拷贝和还原系统权限,本文将告诉你如何恢复linux系统根分区文件权限
解决方法:找一台权限正常的linux(最好和故障机同版本的)
通过getfacl -R / >systemp.bak将这个正常系统的/目录下所有文件的权限都备份保存在systemp.bak中
然后单用户进入故障服务器,在这种情况下network服务是可以启动的,启动网络服务通过ftp或者wget等方式将systemp.bak传输进异常系统;

reboot重启系统,不出意外的话,系统文件的权限已经恢复正常了,密码也可以登录了,ssh也能连接了,一切都美好了。
不过将 passwd命令和 su命令的权限还需要手动进一步修改,增加setuid权限位

chmod u+s which passwd

chmod u+s which su

至此系统的基本功能都已经正常了,若还有个别文件有问题,单独修复即可。



Back Top

发表评论

电子邮件地址不会被公开。 必填项已用*标注

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

无觅相关文章插件,快速提升流量