sudo是系统管理员让普通用户执行一些或者全部的root命令的一个工具
配置文件:/etc/sudoers
编辑配置文件:visudo
一个sudo条目:
某个用户能够以另外哪一个用户的身份通过哪些主机执行什么命令
who which_hosts=(runas) TAG: command
此处命令必须是完整路径
示例:hadoop ALL=(root) /usr/sbin/useradd
让hadoop执行命令时不用输入密码
hadoop ALL=(root) NOPASSWD:/usr/sbin/useradd
hadoop执行第一个命令不输入密码,执行第二个命令输入密码
hadoop ALL=(root) NOPASSWD:/usr/sbin/useradd,PASSWD:/usr/sbin/userdel
用户别名:
User_Alias USERADMIN =
用户的用户名
组名,使用%引导
还可以包含其它已经用户别名
Host_Alias
主机名
IP
网络地址
其它主机别名
Runas_Alias:
用户名
%组名
其它的Runas别名
Cmnd_Alias:
命令路径
目录(此目录内的所有命令
其它事先定义过的命令别名
who: User_Alias
which_hosts: Host_Alias
runas: Runas_Alias
command: Cmnd_Alias
示例:
User_Alias USERADMIN=hadoop,%hadoop,%useradmin
Cmnd_Alias USERADMINCMND=/usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel
别名必须全部而且只能使用大写英文字母的组合 必须先定义才能使用
USERADMIN ALL=(root) NOPASSWD:USERADMINCNMD
sudo命令
-l:列出当前用户可以使用的所有sudo类命令
-k: 让认证信息失效,下次操作必须输入密码
sudo用法示例:
sudo /usr/sbin/useradd tom
sudo /usr/sbin/usermod -s /bin/csh tom
默认第一次输入密码后 五分钟内不用输入密码