开发者社区 问答 正文

云服务器 ECS Linux 主机系统目录误操作权限修改为 777 的修复方法是什么



问题说明



误操作 chmod -R 777 /  ,导致系统中的大部分服务以及命令无法正常使用。

问题原因



Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。误操作导致系统文件权限紊乱从而影响系统正常使用。

处理办法



1、通过一台权限正常的Linux(最好内核版本和故障服务器相同) 通过 getfacl -R / >systemp.bak 将这个正常系统的/目录下所有文件的权限都备份保存在 systemp.bak 中,如图:


2、如果异常服务器未重启等操作并且连接未端,可以使用 scp 命令将正常的备份文件传至异常服务器中,命令如下: scp root@目标机器IP:system.bak文件路径  本地存放system.bak路径
3、在异常服务器中执行命令: setfacl --restore=systemp.bak
即可将现在的系统权限恢复成和正常系统一样。
4、reboot 重启系统重新测试验证结果。

如果服务器有过重启操作,则无法远程连接,请联系 售后技术支持进一步排查。

展开
收起
boxti 2017-10-23 16:42:52 2257 分享
分享
版权
举报
阿里云 AI 助理回答

面对您描述的问题,确实是一个比较棘手的情况,因为chmod -R 777 /这个命令将根目录下所有文件和目录的权限设置为最大权限,这可能导致系统服务因权限设置不当而无法正常运行。您提供的解决方案是通过恢复从一个正常系统备份的权限来修复问题,这是个合理的办法。不过,在实际操作中,还有一些细节和备选方案值得考虑:

  1. 确认备份来源系统的一致性:确保用于获取权限备份的系统与故障系统的Linux发行版、内核版本以及软件配置尽可能一致,以减少恢复后可能出现的兼容性问题。

  2. 使用scp前的准备:如果异常服务器还能进行基本的SSH连接,确保scp命令能够执行,可能需要检查ssh服务是否受影响,或者尝试使用其他端口(如果默认端口被更改或受限)。

  3. 在执行setfacl之前:强烈建议先在异常服务器上创建当前状态的备份,比如再次执行getfacl -R / > current_permissions.bak,以防万一恢复过程中出现问题,可以回滚到误操作后的状态。

  4. 逐步恢复而非全盘恢复:如果可能,可以尝试分析哪些关键系统目录或文件的权限最为关键(如/bin, /sbin, /etc等),优先恢复这些核心部分的权限,而不是直接全盘恢复,这样可以减少潜在的风险。

  5. 使用LiveCD或救援模式:如果服务器已经无法正常启动,可以考虑使用Linux LiveCD(如SystemRescueCd)启动系统,然后挂载故障系统的根分区,再执行权限恢复操作。这种方式可以在不依赖于系统正常启动的情况下工作。

  6. 联系专业支持:正如您提到的,如果问题复杂到无法远程解决,及时联系专业的售后技术支持是非常必要的。阿里云提供有专门的技术支持服务,可以通过阿里云控制台提交工单,详细说明问题情况,阿里云的技术专家会根据具体情况给出专业的指导和帮助。

请记得,在处理这类敏感且高风险的操作时,务必谨慎行事,最好在有经验的系统管理员指导下操作,避免造成不可逆的数据损失或系统损坏。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等