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

“hadoop 不在 sudoers 文件中。此事将被报告。”,这是在 Debian 上配置 Hadoop 集群的过程中,为新建的 hadoop 用户设置密码时所弹出的报错信息。在设置密码时我使用了 sudo 命令,sudo 命令使得非 root 用户可以通过键入 root 密码来执行一些只有 root 用户才有权限执行的操作,而不需要切换至 root 账户。我想这里可能是因为新建的 hadoop 用户不具备使用 sudo 命令的权限,即这个新的 hadoop 用户无法申请 root 权限。考虑到报错信息为“hadoop 不在 sudoers 文件中”,sudoers 文件位于 /etc 目录下,经过一番摸索,发现通过向配置文件 sudoers 中增加一条记录即可解决这个问题:

首先打开终端,切换到 root 账户,以免出现没有权限修改 sudoers 文件的问题:

su

输入 su 命令再按要求输入密码即可切换为 root 用户。

然后使用 nano 打开 /etc/sudoers:

nano /etc/sudoers

在 sudoers 文件中的 # User privilege specification 下可以看到已经有一条记录 root    ALL=(ALL:ALL) ALL,你只需要另起一行以同样的格式将新建的用户名写入文件即可,这里是:

hadoop    ALL=(ALL:ALL) ALL

如下图:

也可以用 vim 或 gedit 等编辑器来编辑 sudoers 文件,确保已经保存后退出,至此,新建的用户已经加入了 sudoers,可以使用 sudo 命令了。

评论