我修改了sudoers文件,我不再有任何可以sudo的用户

我取消了一条说,pipe理员组中的所有用户都是sudoers,我认为这导致了我的问题。 我很确定我损坏了文件或其他东西。

我会显示sudoers文件的样子,但它告诉我访问被拒绝。

所以,我的问题是,我不再具有sudo能力的用户。

如果您没有更改root密码,那么您应该能够重新启动并从grub菜单中selectrescue模式。

或者你可以从livecd重新启动,挂载根分区并撤消你的改变。

在这种情况下,您需要具有root访问权限的人来修改文件以解决问题。

你在pipe理组中吗?

没有查看由此产生的sudoers文件,下面的错误似乎是可能的:

  1. 在编辑sudoers文件时,引入了语法错误,阻止了文件的正确操作。 当你改变sudoers文件时,最好使用visudo而不是直接编辑文件。

  2. 文件保护或sudoers文件的所有权不再正确。 该文件必须由用户拥有:root和group:root和文件保护应该是:0440(u = r,g = r,o-rwx)。 使用visudo以外的编辑器可能会以不正确的权限离开文件。

要修复,需要使用root密码(通过su)获得root权限的用户。 如果您可以物理访问机器,则可以使用Linux CD启动救援启动并解决问题。 当然,如果您有机器访问权限,在很多公司和情况下,您仍然可以使用root密码,因此无需使用救援启动。

如果您仍然可以访问该框,则可以使用本地特权升级攻击获取root访问权限并使用sudo(或sudo su -c passwd)修复问题。

请注意,自己尝试这种方法可能会使您的盒子变软,或使其处于工作状态但不稳定的状态,请有经验的人为您尝试,或者find一种获取本地访问权限的方法,并使用livecd重置密码。