sudo命令用来以其他身份来执行命令,预设的身份为root。在/ect/sudoers设置了可执行sudo指令的用户。未经过设置的用户不可使用sudo
未经过免密码设置的用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
设置某用户(如hadoop用户)免密码使用sudo:
- su - root #切换到root用户(注意中间必须加上- 才会把root环境变量传过去)
- vi /etc/sudoers
- 找到root ALL=(ALL) ALL 这一行,在下面插入hadoop ALL=(ALL) NOPASSWD: ALL
这样就表示hadoop可使用sudo免密码来执行所有命令,如需设置指定命名(如mount)这需在后面跟上命令目录:
hadoop ALL= (root) NOPASSWD: /sbin/mount
如需要所有命令都需要输入密码:hadoop ALL=(ALL) ALL