用户名不在 sudoers 文件中。此事件将被举报

fso*_*o94 125 sudo

我在我的笔记本电脑上使用 VMware Player 运行 Ubuntu 12.04。我不知道为什么,但除了我通常登录使用 Ubuntu 的帐户之外,我还有一个名为“用户帐户”的帐户。好吧,这只是附带评论,但基本上我要做的就是在 Ubuntu 上安装 ncurses 库。我尝试使用以下命令行安装 ncurses:

sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev
Run Code Online (Sandbox Code Playgroud)

当我尝试使用上述命令安装 ncurses 两次时,我在终端中收到以下提示:

[sudo] password for username
Run Code Online (Sandbox Code Playgroud)

当我输入密码时,我收到以下消息:

username is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已尝试按照以下链接中的说明启用 root 用户(“超级用户”)帐户:https : //help.ubuntu.com/community/RootSudo

以下是链接建议执行的一些操作:

允许其他用户运行 sudo。在命令行中键入以下内容:

须藤 adduser 用户名须藤

或者

须藤 adduser 用户名须藤

以其他用户身份登录。在命令行中键入以下内容:

sudo -i -u 用户名

启用 root 帐户。在命令行中键入以下内容:

须藤 -i

或者

须藤密码根

我已经尝试了上述所有命令行,在输入每个命令后,系统提示我输入密码。输入密码后,我收到了与尝试安装 ncurses 时相同的消息:

fsolano is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

小智 88

当这发生在我身上时,我所要做的就是解决它:

步骤1.打开一个终端窗口,CTRL+ ALT+T 在我的系统(Debian的KDE设置为热键之后)

步骤 2. 使用命令输入 root su root

步骤 3. 输入 root 密码

步骤 4. 输入命令apt-get install sudo -y进行安装sudo

第 5 步。通过输入adduser username sudo将用户添加到 sudoers 文件,将您的用户名替换为username

步骤 6. 通过输入为 sudoers 文件设置正确的权限 chmod 0440 /etc/sudoers

步骤 7. 键入exit并点击Enter直到关闭终端窗口。完全关闭系统并重新启动。

步骤 8. 打开另一个终端窗口。

步骤 9. 尝试任何 sudo 命令以检查您的用户名是否正确添加到 sudoers 文件中。我用过sudo echo "Hello World!"。如果您的用户名已正确添加到 sudoers 列表中,那么您将获得Hello World!终端响应!

  • -1: `cd -` 将*不*转到主目录,而是转到最近的其他目录。`sudo -` 不会* 询问您的用户密码,而是询问您的 root 密码。不要*不要*手动编辑`/etc/sudoers`,为此使用`visudo`。典型的 ubuntu 系统根本没有 root 密码,而是完全依赖 sudo。 (16认同)
  • 此处描述的步骤无法解决原始问题中所述的问题。专门创建一个用户作为 sudo 组的成员可能允许使用 sudo,但这是不好的做法。 (2认同)

小智 48

按照链接重置您的管理员密码 [听起来您将管理员用户帐户命名为user:)]

https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password

之后,以管理员用户身份登录并执行以下操作。

sudo usermod -aG sudo,adm fsolano
Run Code Online (Sandbox Code Playgroud)

现在您可以以身份登录fsolano并且您应该能够运行sudo命令。

如果您bash: usermod: command not found以 root 身份获得,请尝试:

/sbin/usermod -aG sudo,adm fsolano
Run Code Online (Sandbox Code Playgroud)

  • 输入此内容以及“adduser NAME sudo”后,我仍然收到消息。我想一定有别的东西。我正在使用 Debian 7.8。 (3认同)
  • @masi 上面的技巧*确实*在 Debian 8.5 中有效(至少在这里),但只有在您注销并重新登录后才能使用。 (3认同)

小智 19

我有卡利随时同样的问题,我想补充NEWUSER通过键入此命令sudo的组:

usermod -aG sudo newuser
Run Code Online (Sandbox Code Playgroud)

并在/etc/sudoers. 都是废话!

我对这个废话的解决方法是复制它下面的 root 行并将 root 更改为 newuser:

# User privilege specification
root    ALL=(ALL:ALL) ALL

newuser ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)

我记得使用 usermod 的常用方法曾经可以工作,但现在是过去几年的错误吗?真是无稽之谈。无论如何,如果有人有更好的答案,请分享:)


mic*_*has 16

配置文件/etc/sudoers列表,允许谁以哪个用户身份运行哪些命令。

在 ubuntu 上,此文件包含一行,允许该sudo组的所有用户以用户身份运行命令root

要检查哪些用户在 sudo 组中,您可以输入getent group sudo. 您还可以通过键入来检查当前用户的组id

可能您当前的用户不在 sudo 组中,因此不允许使用该sudo命令。

如果您想运行sudo.


小智 8

这样做可以为您的管理员用户重置密码。

https://help.ubuntu.com/community/LostPassword

然后你就可以向你的普通用户授予 sudo 权限

sudo adduser username sudo
Run Code Online (Sandbox Code Playgroud)

正如您在原始问题中发布的那样。

顺便说一句:你为​​什么要安装 ncurses?你在编译什么吗?