Linux系统chmod 777 误操作目录权限 - 恢复方法

小白操作Linux,手抖导致误修改了系统文件和目录权限,导致系统宕机的修复。

chmod 777 -R / 
chmod 777 -R / test

有的是真不懂,执行了上面的第一条命令,有的是懂,但是操作太快或者粗心大意,或者有乱敲空格的恶习,诸如此类... 不胜枚举,总之闯祸了。

Linux 中,如果意外误操作将根目录目录权限批量设置,比如 chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的 getfacl 命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行。

修复的方法如下:

# 1、通过一台权限正常的 Linux(最好内核版本和故障服务器相同) 通过命令:
getfacl -R / >systemp.bak

# 将这个正常系统的/目录下所有文件的权限都备份保存在 systemp.bak 中。

# 2、如果异常服务器未重启等操作并且连接未端,可以使用 scp 命令将正常的备份文件传至异常服务器中,命令如下:
scp root@目标机器 IP:system.bak 文件路径 本地存放 system.bak 路径

# 也可用其他方法把 systemp.bak 移动到异常服务器中。

# 3、在异常服务器中执行命令:
setfacl --restore=systemp.bak

# 即可将现在的系统权限恢复成和正常系统一样。

4、reboot 重启系统
# 如果执行了上述过程,仍然无法通过ssh远程该服务器,那就看下系统日志message

 

比如报错:客户端:
[c:\~]$ ssh 10.68.215.215 29992

Connecting to 10.68.215.215:29992...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Connection closed by foreign host.

Disconnected from remote host(10.68.215.215:29992) at 13:10:18.

Type `help' to learn how to use Xshell prompt.


重启sshd服务报错
root@bt:~# /etc/init.d/ssh start
* Starting OpenBSD Secure Shell server sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key


服务的message报错(message日志和重启ssh服务都提示 )
/etc/ssh/ssh_host_dsa_key
etc/ssh/ssh_host_rsa_key
文件权限问题,那么请参考正常系统的文件权限,将上述命令目录下面的文件权限调整和正常系统一样的权限即可:

# CentOS7.x

 Linux系统chmod 777 误操作目录权限 - 恢复方法

# CentOS6.x

Linux系统chmod 777 误操作目录权限 - 恢复方法

 

上一篇:CentOS 7中修复MBR扇区故障实验


下一篇:勒索病毒加密的 ufdata.BAK ufdata_BA zip gz SQL压缩备份 等解密恢复