解决ubuntu系统“XXX is not in the sudoers file”错误

用adduser新建的用户,当时只输入了一个用户名,没做其它操作,这样就建立了一个normal用户。在执行sudo vim hadoop-env.sh时,报“*** is not in the sudoers file.  This incident will be reported.”。

经查询,网上的解决方案大多数都是:

执行visudo或vim /etc/sudoers命令,然后在root用户下面增加<username> ALL=(ALL) ALL

我相信这样一定可以解决问题,但这是杀鸡用牛刀。看起来似乎是让这个用户和root一样拥有了全部全部全部的权限,有没有感觉瑟瑟发抖。像这样的方法,我们自己使用玩玩还可以,但这肯定不是正确的解决方法。更何况,在安装系统时建立的一个用户hadoop1,可以使用sudo,但这个用户名并不在sudoers 这个文件里,所以肯定有其它正确的方法。

后来在这里https://www.cnblogs.com/yadongliang/p/8659950.html发现了,博主所说的他没有成功的方案一,我测试成功。

sudo是个用户组,只要把用户加到这个用户组,就可以使用sudo了,这才叫解决方案。

下面是具体步骤:

切换到不能使用sudo的用户,就叫hadoop2吧,登录以后,执行groups命令,发现是空的,也就是说用adduser增加的用户,不在任何用户组里。

而安装系统时创建的用户,hadoop1则有很多用户组:

adm cdrom sudo dip plugdev lpadmin sambashare

所以,用adduser把hadoop2加到sudo用户组:

adduser hadoop2 sudo

再次执行groups,sudo用户组就出现了。

再次执行sudo vim hadoop-env.sh,成功。

posted @ 2019-02-15 13:57  火军刀  阅读(624)  评论(0编辑  收藏  举报