我进入了 /etc/sudoers 并且可能做错了什么,因为之后我无法再使用命令行。也许我删除了 /etc/sudoers 中的 sudo。它说第 28 行出了问题。我该怎么做才能恢复它,还是必须再次安装 Ubuntu??
答案1
您可以尝试以下操作:
- 重启机器并选择 grub 的菜单“Ubuntu 的高级选项”
- 然后“Ubuntu,与 Linux(你的内核) (恢复模式)”
- 之后选择“进入 root shell 提示符”
- 下面你会看到一个提示。
- 确保您在文件系统中具有写入权限。类型:
mount -o remount,rw /
- 进入 /etc 文件夹。输入:
cd /etc - 确保您在 sudoers 文件中具有写入权限,或者键入
chmod 640 sudoers
,然后键入:
visudo
这里有“sudoers”文件的屏幕截图。
也许你删除了这行“%sudo ALL =(ALL:ALL)ALL”
编辑文件并保存更改(ctrl + x 和 shift Y),将文件的权限更改为chmod 440 sudoers
然后退出并“恢复正常启动”
我希望这会有所帮助。
问候。
答案2
至关重要的是,你必须使用visudo
而不是其他方法,否则sudo 可能会中断。请考虑阅读该帖子,以确保您避免出现问题。简而言之,如果 sudoers 文件的权限不是 0440,sudo 似乎已被编程为根本不起作用。visudo 命令会创建具有正确权限的文件。通过使用不同的方法,您可能会暂时失去管理访问权限(因为默认的 umask 不会创建具有 0440 权限的文件)。
在 GRUB 启动过程中选择恢复控制台。然后,您可以更改有问题的文件的权限,以便下次重新启动后一切正常。或者,如果只是打字错误,您也可以修复它。
答案3
最简单的解决方案是启动恢复模式在 Ubuntu 徽标出现之前按下 Shift,然后在救援 shell 中/etc/sudoers
使用进行编辑。visudo