我正在使用VMware Player在笔记本电脑上运行Ubuntu 12.04。我不确定为什么,但是除了我通常登录使用Ubuntu的帐户外,我还有一个名为“用户帐户”的帐户。好吧,这只是附带说明,但基本上我要做的就是在Ubuntu上安装ncurses库。我尝试使用以下命令行安装ncurses:
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev

当我尝试使用上述命令两次安装ncurses时,在终端上收到以下提示:
[sudo] password for username

当我输入我的密码,我会收到以下消息:
username is not in the sudoers file. This incident will be reported.

到目前为止,我已经尝试按照此链接上的说明启用root用户(“超级用户”)帐户:https://help.ubuntu .com / community / RootSudo
以下是链接建议执行的一些操作:

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

以其他用户身份登录。在命令行中键入以下内容:
sudo -i -u username
启用根帐户。在命令行中键入以下内容:
sudo -i


我已经尝试了上述所有命令行,并且在键入每个命令之后系统提示我输入密码。输入密码后,收到与尝试安装ncurses相同的消息:
fsolano is not in the sudoers file. This incident will be reported.


评论

我还没有发表评论。问题。 fsolano是您安装ubuntu的第一个用户吗?通常应该具有管理员权限,如果您以图形方式执行管理员功能,那么它是否对您有用? IE,如果您打开GUi进行用户管理,并尝试执行一些管理工作,是否可行?或告诉你你不是root

这里也问过同样的问题吗? superuser.com/questions/866582/…

如果您具有设置密码的root用户,则可以使用su登录root并将urself添加到sudo组àdduser用户名sudo else,则必须使用live cd / usb和chroot引导至已安装的系统,它将登录默认情况下进入root用户,为接下来的情况passwd设置root密码,然后将自己添加到sudo中,然后重新启动,您将把用户名添加到sudo中,并且您还将拥有root密码,以防sudo仍然无法正常工作,您可以处理....

xkcd.com/838

#1 楼

发生这种情况时,我要做的就是修复它:
步骤1.打开终端窗口,在系统上按CTRL + ALT + T
(设置为热键后,使用Debian KDE)
第2步。使用命令su root输入root用户
第3步。输入root密码
第4步。输入命令apt-get install sudo -y安装sudo
第5步。输入adduser username sudo将用户添加到sudoers文件中,您的用户名代替username
步骤6。通过输入chmod 0440 /etc/sudoers
步骤7,设置sudoers文件的正确权限。键入exit并按Enter键,直到关闭终端窗口。完全关闭系统并重新启动。
步骤8.打开另一个终端窗口。
步骤9.尝试使用任何sudo命令检查用户名是否正确添加到sudoers文件中。我用sudo echo "Hello World!"。如果您的用户名已正确添加到sudoers列表中,那么您将获得Hello World!作为终端响应!

评论


-1:cd-不会转到主目录,而是转到最近的其他目录。 sudo-不会询问您的用户密码,但会询问您root密码。不要编辑/ etc / sudoers手动使用visudo。典型的ubuntu系统根本没有root密码,但完全依赖sudo。

– michas
16年4月1日在14:13

@michas在Debian中没有sudo不能使用visudo。 vi解决方案也是不可能的,因为它是只读的。 Gedit在我的情况下有效。

–LéoLéopoldHertz준영
16年6月8日在16:48

在debian 8中,您可以在没有sudo的情况下使用vi。要写入只读文件,请使用:wq!

–甲骨文
17年7月27日在23:09

这也对我有用,确实有很大的帮助!

–CA Arefe
17年12月7日在7:23

感谢您的回答。但是我什至无法运行su-

– Vishal
18年8月16日在9:44

#2 楼

按照链接重置您的管理员密码[听起来像您将管理员用户帐户命名为user :)]
https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-管理密码
之后,以管理员用户身份登录并执行以下命令。
sudo usermod -aG sudo,adm fsolano

现在您可以以fsolano身份登录,并且应该能够运行sudo命令。
如果您甚至可以以root用户身份获得bash: usermod: command not found,请尝试:
/sbin/usermod -aG sudo,adm fsolano


评论


抱歉,我忘了提到我很久以前解决了这个问题。这是我遇到的问题,也可能是其他任何人遇到的问题的解决方案。

–fsolano94
2015年6月24日4:22



键入此内容以及adduser NAME sudo后,我仍然收到消息。我认为还必须有别的东西。我正在使用Debian 7.8。

–TomášZato-恢复莫妮卡
15-10-22在9:03

这在Debian 8.5中还不够。 ShrikantKhawale的建议很少补充,在这里是正确的。

–LéoLéopoldHertz준영
16年6月8日在16:49

@masi上面的技巧在Debian 8.5中有效(至少在这里),但仅在注销并再次登录后才有效。

– jcoppens
16年8月12日在17:36

@jcoppens是正确的,仅在注销并登录后才可用于Debian 8.6

– hello_earth
16年12月30日在17:05

#3 楼

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

在ubuntu上,该文件包含一行,允许sudo组的所有用户以root用户身份运行命令。 >
要检查哪些用户在sudo组中,可以键入getent group sudo。您还可以通过键入id来检查当前用户的组。

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

如果要运行sudo,请以启用了sudo的用户身份登录。

评论


好,就是这样。我将以管理员或root用户身份登录,但是第一次在计算机上安装Ubuntu时忘记了密码。

–fsolano94
2015年1月19日,23:35

sudo:x:27:user(我不确定x或27是什么,但我肯定user是我不知道/不记得密码的用户帐户)

–fsolano94
2015年1月19日23:40

@ fsolano94,启动到某种形式的应急环境(直接启动,或从安装介质启动),然后更改root密码。或编辑/ etc / sudoers文件(最好使用visudo(1))。

– vonbrand
16年1月4日在16:27

那就是问题所在。以其他用户身份登录无法解决任何问题

– KansaiRobot
20年7月10日在8:59

#4 楼

每当我想通过输入以下命令将newuser添加到sudo组时,都遇到了与Kali相同的问题: />所有废话!

我的解决办法是将其下面的root行复制并更改为newuser:
我记得以前使用usermod的通常方法可以正常工作,但这是最近几年的错误吗?
真的是胡说。
如果有人有更好的答案,请分享:) br />

评论


在常规debian上也有同样的问题(9)手动编辑/ etc / sudoers可以解决问题

–user149622
19年1月14日在7:41

确实,这似乎是一个错误。用户在sudo组中。它在/ etc / sudoers中没有注释-但是,它没有用!只有当我按照您的建议手动添加时,它才开始起作用。谢谢!

–user3804598
19年11月23日在18:55

#5 楼

执行此操作以重置管理员用户的密码。

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

然后您将可以授予sudo权限向您的普通用户提供

sudo adduser username sudo


,就像您在原始问题中发布的一样。

:为什么要安装ncurses?你在编译东西吗?

评论


我正在用C语言编写Tetris,并且正在使用curses作为图形用户界面的跨平台。是的,我要点击链接

–fsolano94
15年1月20日,0:04

#6 楼

您还可以通过以下方式将用户添加到sudo组以进行所有访问:


通过sudo su(ubuntu 16.04 LTS)转到根目录用户
,然后输入当前用户密码
键入sudo adduser <username> sudo,其中username是要在sudoers列表中添加的用户的名称
要检查是否成功添加了所需用户,请键入getent group sudo,这将显示sudo用户列表。


评论


嗨,欢迎来到Unix SE并恭喜您获得了一个很好的第一答案。我对您的格式进行了一些固定,您可以在撰写文章时单击“语法帮助”以了解更多信息。

– GnP
16年9月2日在18:56

这不是一个好答案。 (1)问题指出sudo对用户不起作用。 (2)已经给出了sudo adduser <用户名> sudo的答案。

– G-Man说“恢复莫妮卡”
17年11月30日在16:22

#7 楼

如果您具有除'fsolano'以外的其他root / admin用户,则该文件不在sudoers文件中。将报告此事件:

check sudo enabled users (groups)
# getent group sudo 
sudo:x:27:xyz,abc 


由于用户'fsolano'更改为标准用户,并且如果您具有任何其他root特权用户,请通过root用户root和使用“用户帐户”将“ fsolano”更改为管理员。

#8 楼

将用户添加到sudoers文件的最简单方法是以具有执行gpasswd权限的用户身份运行以下波纹管命令:

sudo gpasswd -a username sudo


评论


这在Debian 8.5中不起作用。

–LéoLéopoldHertz준영
16年6月8日在16:19

#9 楼

1.您可以使用以下命令检查您是否属于sudo组

groups username ===> it will lists the groups for which he belongs too


我们也可以通过以下脚本进行检查

h=`groups username| awk -F ":" '{print }'| grep -io 'sudo'`
if [[ $h == "sudo" ]]
then
echo "user praveen is part of group sudo"
else
echo "Need to add user to group sudo"
echo "Swictch to root and add user"
fi