在 CentOS 7 上恢复文件权限

在 CentOS 7 上恢复文件权限

我搞乱了整个服务器的权限

chown root:root -R /
chmod 777 -R /

如何修复?我无法使用该机器上的终端以 root 身份登录,它显示错误“密码无效”,SSH 显示错误“远程服务器重置连接”

笔记: 我尝试使用 USB 重新安装 CentOS 7。但在选择磁盘阶段卡住了,因为它不允许我在不格式化的情况下选择 /。这个问题解释了我的命令的作用。为什么“chmod -R 777 /”具有破坏性?

答案1

从备份恢复或重建服务器。

答案2

我设法解决了它,下面是我遵循的步骤。

修复使用终端进行 root 登录的问题。

  1. 使用可启动 USB/CD 启动
  2. 选择恢复并堆放磁盘
  3. 转到已安装的文件夹并chown root -R /运行chmod 755 -R /
  4. chmod 0700 -R /root/.ssh
  5. 正常重启
  6. 忽略 SElinux 上下文警告并让其重新存储上下文

此后,你将能够使用 root 身份登录机器

要修复文件权限和所有者信息使用这些rpm --setperms {packagename}命令rpm --setugids {packagename}

要修复所有系统,只需循环运行它们更多详细信息请点击此处

for p in $(rpm -qa); do rpm --setperms $p; done
for p in $(rpm -qa); do rpm --setugids $p; done

它将修复大多数软件包的权限。

如果你无法使用 SSH 登录,请按照以下步骤操作

  1. systemctl restart sshd它会失败
  2. systemctl status sshd它将显示具有错误权限的文件
  3. chmod 0700 -R /root/.ssh使用OR修复文件权限chmod 0700 your_file_path
  4. 重复此过程,直到 SSH 服务启动成功

通过这些步骤,我设法恢复了服务器上的所有基本服务。

最后,恢复使用 Plesk 创建的虚拟主机的默认权限。我按照说明使用此命令plesk 网站

# /usr/local/psa/bin/repair --restore-vhosts-permissions

相关内容