问题来源:

我们使用sudo命令,让hadoop用户使用root身份执行命令时报错:

[hadoop@mydocker ~]$ sudo date

[sudo] password for hadoop: 
hadoop 不在 sudoers 文件中。此事将被报告。

可以看到hadoop用户没有权限使用sudo命令以root身份执行命令。


解决方法:

打开终端,先以root身份登录,然后执行如下命令:
visudo

在打开的文件中,找到下面这一行:
root ALL=(ALL) ALL
并紧帖其下面,添上自己的用户名,比如:hadoop
hadoop ALL=(ALL)  ALL

如果只做到这一步,然后保存退出,那么就能使用sudo命令了,但是此时需要输入root密码才可以。要让执行时不需要输入密码,再找到下面这一句:
#%wheel  ALL=(ALL)         NOPASSWD: ALL
将#号去掉,使其生效。

接着我们执行如下命令,将用户"hadoop"加入到"wheel"组中
gpasswd -a hadoop wheel

这样,我们就可以使用hadoop用户登录后执行 sudo 命令时不再输入密码了。

[hadoop@mydocker ~]$ sudo date
2016年 09月 12日 星期一 21:42:52 CST


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐