我尝试了所有办法,但没有任何效果。
sudo
不起作用,因为它说:
/etc/sudoers is world writable
即使我输入命令,也无法以 root 用户身份登录sudo -i
chmod: changing permissions of 'etc/sudoers': Operation not permitted
su: Authentication failure
在发生此错误之前,我尝试更改文件夹的权限/etc
以允许我在该文件夹内创建一个新文件夹/etc
,然后第二天打开ssh后就出现了这个错误。
以下命令是我记得的唯一允许我创建文件夹的命令:
sudo chmod -R 777 /etc chmod a+w test mkdir /etc/backup
我对 Linux 命令不熟悉,所以我只是搜索它们并在我的 ssh 上尝试过,然后就发生了这个错误。
有人能帮助我吗?提前致谢。
答案1
在发生此错误之前,我尝试更改 /etc 文件夹的权限,以允许我在 /etc 文件夹内创建一个新文件夹
没有任何理由更改/etc/
。这是由软件包/软件包管理器维护的系统目录。如果您需要个人目录,请将其放入/home/$USER
或(如果是多用户服务器则放入/opt/etc
)(但即使这些在我看来也很恶心 ;))。
您可以通过重新启动进入 grub rescue 或从实时会话来修复此问题,然后执行
chmod 440 /etc/sudoers
所以它匹配
r--r----- 1 root root 1800 feb 20 18:38 /etc/sudoers
请注意,这可能是徒劳的尝试:如果你对整个 sudoers 文件做了一些事情,那么/etc/
你可能改变的不仅仅是 sudoers 文件。那么重新安装而不格式化就是答案。
答案2
你应该重新启动系统并启动单用户模式,进入 root shell,更改所有权/etc/sudoers:
重启后按shfit
直到出现 GRUB 菜单,然后按e
编辑,然后转到以 开头的行linux /boot/vmlinuz
并将行尾替换ro \ console=ttyS0 console=tty0
为rw init=/bin/bash
。
来自的指示伊特加拉带有图像。
现在,chmod 440 /etc/sudoers
sudoers 文件应该如下所示
-r--r-----
我建议您使用visudo
并编辑 sudoers 文件以添加更多配置/etc/sudoers.d/my-sudoers
。