我搞乱了整个服务器的权限
chown root:root -R /
chmod 777 -R /
如何修复?我无法使用该机器上的终端以 root 身份登录,它显示错误“密码无效”,SSH 显示错误“远程服务器重置连接”
笔记: 我尝试使用 USB 重新安装 CentOS 7。但在选择磁盘阶段卡住了,因为它不允许我在不格式化的情况下选择 /。这个问题解释了我的命令的作用。为什么“chmod -R 777 /”具有破坏性?
答案1
从备份恢复或重建服务器。
答案2
我设法解决了它,下面是我遵循的步骤。
修复使用终端进行 root 登录的问题。
- 使用可启动 USB/CD 启动
- 选择恢复并堆放磁盘
- 转到已安装的文件夹并
chown root -R /
运行chmod 755 -R /
chmod 0700 -R /root/.ssh
- 正常重启
- 忽略 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 登录,请按照以下步骤操作
systemctl restart sshd
它会失败systemctl status sshd
它将显示具有错误权限的文件chmod 0700 -R /root/.ssh
使用OR修复文件权限chmod 0700 your_file_path
- 重复此过程,直到 SSH 服务启动成功
通过这些步骤,我设法恢复了服务器上的所有基本服务。
最后,恢复使用 Plesk 创建的虚拟主机的默认权限。我按照说明使用此命令plesk 网站
# /usr/local/psa/bin/repair --restore-vhosts-permissions