版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
由于您执行了 chmod -R 7 /
命令,这将所有文件和目录的权限设置为最大权限(777),导致系统中的关键文件和目录安全性降低,进而影响了SSH服务和sudo命令的正常工作。根据您的情况,需要逐步修复涉及的权限问题,特别是与SSH服务和sudo相关的文件权限。以下是一套修复步骤:
检查并修复SSH服务所需的特定目录和文件权限,尤其是 /etc/ssh/ssh_host_*
文件,应将其权限更正为600。
cd /etc/ssh/
sudo chmod 600 ssh_host_rsa_key
sudo chmod 600 ssh_host_dsa_key
sudo chmod 600 ssh_host_ecdsa_key
sudo chmod 600 ssh_host_ed25519_key
确认公钥文件权限正确,一般为644。
sudo chmod 644 *.pub
重启SSH服务以应用更改。
sudo systemctl restart sshd.service
sudo命令报错提示/usr/lib/sudo/sudoers.so must be owned by uid 0
,说明该文件的属主或权限不正确。需进行如下操作:
cd /usr/lib/sudo/
sudo chown root:root sudoers.so
sudo chmod 4755 sudoers.so
确保sudoers.so文件属于root用户且具有正确的权限设置。
由于您执行的命令影响广泛,可能还涉及到其他系统关键组件的权限问题。建议检查以下重要目录和文件的权限是否正确:
/etc
目录下的配置文件通常应为644或600。/bin
, /sbin
, /usr/bin
, /usr/sbin
中的可执行文件应为755。/var/log
日志目录及其内容可以是755或644。以上步骤应该能帮助您解决因权限设置错误导致的SSH无法连接及sudo命令异常的问题。如果问题依然存在,可能需要更深入地检查系统日志或考虑联系技术支持获取帮助。