ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2019-08-29 09:00:39  阅读:284  来源: 互联网

标签:777 系统 chmod host ssh Linux 服务器 权限 bak


小白操作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

 

# CentOS6.x

 

标签:777,系统,chmod,host,ssh,Linux,服务器,权限,bak
来源: https://www.cnblogs.com/miaocbin/p/11427676.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有