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 中:

  1. root@BJ-CentOS7 ~ # getfacl -R / > filename.bak

2、拷贝 filename.bak 文件至权限异常服务器,由于很多系统默认目录文件权限不正确,如 sftp、scp 等方式连接会异常,服务器未重启情况下,只要能进入系统则可以通过 wget 命令下载文件;或者密码认证出错时进入单用户模式启动 network 服务下载文件至异常服务器 云服务器进入单用户教程:http://tss.sng.com/knowledge/page/posts/view#/post/5671

  1. # /etc/init.d/network start
  2. # wget x.x.x.x/filename.bak

3、在异常服务器中执行命令 setfacl –restore=filename.bak 即可将现在的系统权限恢复成和正常系统一样

  1. # setfacl --restore=filename.bak

等待命令执行完毕,系统目录文件权限修正后可验证问题是否解决

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章