sudo:sudo:将一些管理命令授权给某些普通用户使用,并且还能限定其仅能够在某些主机上执行此类的命令,操作过程还会被记录到日志中,以便于日后审计
语法: who which_host=(whom) command
谁能以谁的身份,在那些主机上执行那些命令
配置文件/etc/sudoers常用选项
Host_Alias 定义主机别名,使用,分隔
User_Alias 定义用户别名,可以是用户名,也可以是组名(%组名)
Cmnd_Alias 定义命令别名,可以定义不能执行的命令,使用!/usr/bin/passwd root
Runas_Alias 定义以那些用户执行
NOPASSWD 定义用户执行命令时可以不输入密码
PASSWD 定义用户执行命令时需要输入密码
sudo -l 查看sudo模式下可以执行的命令
sudo -k 强制用户下一次使用sudo命令是必须输入密码(默认第一次输入密码后,5分钟中在执行sudo命令无需再次输入密码)
1、hadoop具有用户管理权限:useradd,userdel,usermod,passwd(不允许修改root、admin密码)
2、python具有网络管理权限:ifconfig ip route ifup ifdowm(执行ifconfig ip route 不需要密码,执行ifup ifdowm需要密码)
3、 admin具有root用户权限,执行sudo命令不需要输入密码
User_Alias USERADMIN = hadoop
User_Alias NETADMIN = python
Runas_Alias ADMIN = root
Host_Alias NETWORK = 192.168.0.0/16,127.0.0.0/8, localhost
Cmnd_Alias USERCOMM = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd, !/usr/bin/passwd root, !/usr/bin/passwd admin
Cmnd_Alias NETCOMMNOPASSWD = /sbin/ifconfig, /sbin/ip, /sbin/route
Cmnd_Alias NETCOMMPASSWD = /sbin/ifup, /sbin/ifdown
USERADMIN NETWORK=(ADMIN) USERCOMM
NETADMIN NETWORK=(ADMIN) NOPASSWD: NETCOMMNOPASSWD, PASSWD: NETCOMMPASSWD
admin ALL=(ALL) NOPASSWD: ALL