问题来源:
我们使用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