hadoop之设置用户无密码sudo权限

| 分类 hadoop  | 标签 hadoop 

平时操作一些命令需要切换root用户,这样切换来切换去也比较麻烦。比如每次都这样操作:

[zengjr@hadoop-zengjr ~]$ su root
Password: 
[root@hadoop-zengjr zengjr]# 

这里只要是说明一下给普通用户设置无密码sudo权限过程。

这里需要编辑一个文件/etc/sudoers

具体如下:

chmod u+w /etc/sudoers

vi /etc/sudoers
##添加
zengjr ALL=(root)NOPASSWD:ALL

chmod u-w /etc/sudoers

以下是关于sudoers文件的解释(来自度娘)

首先用户需要转换成根用户并使用visudo命令打开/etc/sudoers文件。
讲解:root    ALL=(ALL) ALL
root表示被授权的用户,这里是根用户;
第一个ALL表示所有计算机;
第二个ALL表示所有用户;
第三个ALL表示所有命令;
全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。
%admin ALL=(ALL) ALL同上面一样,只不过被授权的成了admin这个组。
通用格式
/etc/sudoers的通用格式为:
user  host  run_as  command
user:一位或几位用户,在/etc/group中可以用一个%代替它,组对象的名称一定要用百分号%开头。
host:一个或几个主机名;
run_as:作为哪个用户运行,常见选项是root和ALL
command:想让用户或组运行的一个或几个根级别命令。
例如:
hans   ALL=(root)   useradd,userdel
授权hans用户在所有计算机上以root身份运行useradd,userdel命令。
%smith  ALL=(ALL)  NOPASSWD:useradd,userdel
授权smith组全部成员在所有计算机上以所有用户的身份运行useradd,userdel命令;且运行时不必输入密码。
需要注意的是,当我们为用户定义可以运行的命令时,必须使用完整的命令路径。这样做是完全出于安全的考虑,如果我们给出的命令只是简单的userad 而非 /usr/sbin/useradd,那么用户有可能创建一个他自己的脚本,也叫做userad,然后放在它的本地路径中,如此一来他就能够通过这个名为 useradd的本地脚本,作为root来执行任何他想要的命令了。这是相当危险的!

上一篇     下一篇