现在Linux系统中存在一个普通用户hadoop,但是普通用户的权限是有限的,比如:
[hadoop@repo ~]$ poweroff
poweroff: Need to be root
[hadoop@repo ~]$ reboot
reboot: Need to be root
[hadoop@repo ~]$ cat /etc/sudoers
cat: /etc/sudoers: Permission denied
现在需要给hadoop用户添加对系统的所有权限,就需要修改/etc/sudoers
文件,当然修改这个文件需要root来执行
原文件:
在root下面增加一行内容,修改后的文件如下所示:
这样,hadoop用户就具有了sudoer权限,意味着hadoop用户可以通过sudo + 命令
来执行一些原来只有root才可以执行的命令,但是还需要输入自己的密码进行验证才能执行
[hadoop@repo ~]$ sudo cat /etc/sudoers
[sudo] password for hadoop: # 输入密码
# 以下是命令执行的结果
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
......
2019-02-15 更新:
经过上面的配置后,hadoop用户确实可以使用sudo来执行具有root权限的命令,但是每次执行还需要输入hadoop用户的密码,使用以下方法可以让hadoop用户执行sudo命令的时候不需要输入密码:
编辑/etc/sudoers文件,将我们之前添加的内容
hadoop ALL=(ALL) ALL
修改为:
hadoop ALL=(ALL) NOPASSWD:ALL