我取消注释了一行,其中说明管理员组中所有用户都是 sudoers,我认为这导致了我的问题。我很确定我损坏了文件或类似的东西。
我将显示 sudoers 文件的样子,但它告诉我访问被拒绝。
所以,我的问题是我不再拥有具有 sudo 能力的用户。
答案1
如果您没有更改 root 密码,那么您应该能够重新启动并从 grub 菜单中选择救援模式。
或者您可以从 livecd 重新启动,挂载根分区并撤消您的更改。
答案2
在这种情况下,您需要具有 root 权限的人来修改文件以解决问题。
您是在管理员群组吗?
答案3
如果不查看生成的 sudoers 文件,似乎可能存在以下错误:
在编辑 sudoers 文件时,出现了语法错误,导致文件无法正常运行。更改 sudoers 文件时,最好使用 visudo,而不是直接编辑文件。
sudoers 文件的文件保护或所有权不再正确。该文件必须由用户 root 和组 root 拥有,并且文件保护应为:0440 (u=r, g=r, o-rwx)。使用 visudo 以外的编辑器可能会使文件具有不正确的权限。
要修复此问题,需要一个能够使用 root 密码(通过 su)获得 root 权限的用户。如果您可以物理访问该机器,则可以使用 Linux CD 启动救援启动并修复此问题。当然,如果您可以物理访问该机器,在许多公司和情况下,您无论如何都会有 root 密码,因此使用救援启动不是必要的。
答案4
如果您仍然可以通过某种方式访问该框,则您可能会使用本地权限提升攻击来获得 root 访问权限并使用 sudo(或 sudo su -c passwd)解决问题。
请注意,如果您自己尝试此操作,可能会损坏您的盒子或使其处于工作但不稳定的状态,请让有经验的人为您尝试或找到获取本地访问权限的方法并使用 livecd 重置密码。