Linux误执行chmod -R 777 / 后的成功挽救方法

在Linux环境上给文件夹赋权的时候,误执行了 chmod -R 777 /,并且退出了连接窗口,再尝试远程登录服务器时,发现登录不上去了。排查服务器是否挂掉,没有,在网页上可以正常访问部署在上面的项目;最后发现是ssh连接挂掉了,百度了很多看到需要格式化啊、重新备份数据啊之类的两眼一黑,也尝试从别的相同配置的服务器上执行scp命令尝试把系统的权限推到出问题的服务器上,但是远程不了终究是无用的,因为任谁也连不上怎么推呢。最终找到了一个成功的解决办法,原文:Linux不小心对根目录执行了chmod补救

用这个方法的前提是,你可以接触到问题服务器,而不是云服务器只能远程连接访问的那种。

写到这,不得不说一说这个误执行的命令带来的影响,因为lz也曾想过,如果是因为执行后递归给了777 权限,那为什么反倒root用户进不去了访问不了了?那我在执行命令给文件夹降权限行不行?答案当然是没那么简单。因为问题的本质是乱赋777权限导致整个操作系统权限混乱,不同的目录尤其一些运行需要的配置文件或密码等信息需要的权限都不一样,在无法识别的情况下,导致一些相关的命令或是设备失效了,最主要的表现就是ssh挂了,上面那篇文章也是去/etc下从修改ssh相关权限入手,lz也是执行了以下步骤后就发现可以远程登录成功了

	cd /etc
    chmod 644 passwd group shadow 
    chmod 400 gshadow 
    cd ssh
    chmod  600  moduli  ssh_host_dsa_key ssh_host_key ssh_host_rsa_key 
    chmod  644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
    chmod  640 sshd_config

至此,ssh正常,登录成功。

你可能感兴趣的:(Linux基础,linux,运维,服务器)