为什么我突然不再是一个sudoer了?

我今天启动了Ubuntu 12.10,当我尝试sudo ,我像往常一样输入了密码,但它说我不是sudoer。 所以我去用户帐户下检查我的帐户,由于某种原因我现在是标准用户?

我已经尝试通过恢复模式将自己重新添加到管理员,但它不起作用。

编辑:UserMod命令将无法正常工作。 得到错误:usermod:无法锁定/ etc / passwd; 稍后再试。

编辑2:谢谢所有帮助! 您的支持是极大的赞赏!

从Ubuntu 12.04开始, sudo组为用户提供管理权限。 admin组也将,但仅当它存在时 ,除非您从以前的版本升级或手动创建它,否则它不会。

  • 有关更多信息,请参阅“sudo”和“admin”组之间的区别是什么?
  • 即使您从12.04之前的版本开始升级,如果导致此问题的事件是无意中删除admin组,那么尝试通过将自己添加到admin来解决此问题也会失败。

因此,您必须将自己添加到sudo组而不是admin组。 要执行此操作,请在恢复模式下启动并输入root shell(如前所述),然后运行:

 usermod -a -G sudo username 

请务必使用您的实际用户名替换username。

然后,您将再次成为管理员。

(如果这不起作用或产生错误,请在此处评论以简要说明发生的情况,并编辑您的问题以尽可能多地添加有关发生的事情的信息。)

来源: 如何向我的帐户授予管理员权限?

当那不起作用

你得到错误usermod: cannot lock /etc/passwd; try again later usermod: cannot lock /etc/passwd; try again later

即使在恢复模式下, usermod显然无法正确访问/etc/passwd (它必须修改的文件)。

希望直接启动到root shell 而不通过恢复模式菜单会更好。 所以尝试“The Other Way Lucid” (但运行usermod -a -G sudo username而不是passwd username ,如前所述)。

如果这不起作用,你可以尝试Adlia建议的Oli的解决方案 ,有两个主要注意事项:

  1. 如果您对系统有足够的了解,可以根据需要“ change sdYY to your root partition ”(即,如果您知道根分区的设备名称),则只能使用这些说明。

  2. 不要像你说的那样运行sudo adduser your-username admin ; 相反,运行adduser your-username sudo 。 (或者usermod -a -G your-username 。)

    重要的是你将自己添加到sudo而不是admin

    (随意跳过这一段 – 它是关于风格和“最佳实践。”)
    但是,当你已经在root shell中以你的所有命令以root身份运行时,使用sudo以root身份运行命令也是不必要的,并且在我看来有点糟糕。 我认为这很快就会导致混淆当一个是否存在于root shell中。

或者你可以使用我在这里写的说明 ,它解释了如何获得所有必要的信息。 它们很长,但这是因为它们涵盖了可能不适合您的各种情况,包括根本无法登录到计算机,并希望重置密码以及使用户管理员。 他们还解释了如何在不假设先前知识或经验的情况下完成所有工作(例如,他们详细解释了如何从Live CD上启动和访问有用的桌面)。

你还有另外一个选择 :我的那些指示实际上是一个一般性的介绍,与Oli写的关于更简洁和更具体情况的相同技术。 所以, 从我在那里写的 ,这里是如何找出使用什么命令代替 sudo mount /dev/sdYY /mnt/boot # change sdYY to your root partition

在您的Ubuntu系统(不是Live CD / DVD / USB系统)中,在终端中运行此命令:

 mount | grep ' on / ' 

你应该在/之前和之后包括空格。

该命令产生/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)作为输出。 之前的文本(不包括空格)是包含Ubuntu系统根文件系统的分区的设备名称。 记住它(或写下来)。

然后,一旦你在现场CD / DVD / USB上打开了终端:

运行此命令:

 sudo mount /dev/sda1 /mnt 

/dev/sda1替换为包含Ubuntu系统根文件系统的分区的设备名称(如果不同)。

除了使用您使用上述技术找到的设备名称外,您还应该使用/mnt不是 /mnt/boot如Oli的答案 。 但是你可以继续那里的指示 。

恢复您的Sudo权限。

  1. 在启动菜单中,转到高级选项。
  2. 选择具有恢复模式的一个。
  3. 转到“根”
  4. 输入并输入:mount -rw -o remount /
  5. 输入并输入:usermod -a -G sudo USERNAMEHERE
  6. 输入并输入:reboot您应该恢复您的Sudo权限。