linux 系统 chmod 误操作权限异常修复方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 系统 chmod 误操作权限异常修复方式相关的知识,希望对你有一定的参考价值。
Linux 系统中如果意外误操作将根目录或系统默认关键目录权限批量设置,比如 chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的 getfacl 和 setfacl 命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行。
假设执行了 chmod -R 777 / ,常见会导致的问题有:
a、密码正确,但是无法登陆系统
b、重启服务器后启动卡住
c、服务启动失败,如 sshd
可以使用命令 rpm -Va 查看文件权限是否被修改:
修复的方法如下:
1、通过一台权限正常的Linux(最好内核版本和故障服务器相同) 通过 getfacl -R / >filename.bak 将这个正常系统的 /目录下所有文件的权限都备份保存在 filename.bak 中:
[email protected] ~ # getfacl -R / > filename.bak
2、拷贝 filename.bak 文件至权限异常服务器,由于很多系统默认目录文件权限不正确,如 sftp、scp 等方式连接会异常,服务器未重启情况下,只要能进入系统则可以通过 wget 命令下载文件;或者密码认证出错时进入单用户模式启动 network 服务下载文件至异常服务器
#/etc/init.d/network start
#wget x.x.x.x/filename.bak
3、在异常服务器中执行命令 setfacl --restore=filename.bak 即可将现在的系统权限恢复成和正常系统一样
#setfacl --restore=filename.bak
等待命令执行完毕,系统目录文件权限修正后可验证问题是否解决
以上是关于linux 系统 chmod 误操作权限异常修复方式的主要内容,如果未能解决你的问题,请参考以下文章
Linux系统chmod 777 误操作目录权限 - 恢复方法