#别名类型 1)Host_Alis定义主机别名 Host_Alias WEBSERVERS = web1, web2 #WEBSERVERS是主机组,web1,web2是主机 #每个主机使用逗号分隔逗号后面有空格,=号两边也有空格,主机组就是别名,可以用这个别名来限制,主机就是在第一个ALL位置,可以定义很多这样的别名,每个别名可以当做一个主机组,平常很少用到 #正在生产场景中,一般情况不需要设置主机别名,在定义授权规则时可以通过ALL来匹配所有的主机 2)User_Alias定义用户别名 #别名成员可以是用户,用户组(用户组前面要加%号) User_Alias ADMINS = Daniel, qwer, %groupname #假如说用户Daniel,qwer和用户组%groupname都有一样的权限,那么直接就可以使用别名ADMINS限制了,后期如果要增加一个同样权限的用户或组,直接在后面加上即可 #引用位置Daniel ALL=(ALL) ALL ALL #Daniel就是用户别名的引用位置 3)Runas_Alias定义runas别名 #这个别名指定的是“用户身份”,即sudo允许切换到的用户 #Runas-Alias定义的是某个系统用户可以执行sudo切换身份到Runas_Alias下包含的成员身份 #语法 Runas_Alias OP = root #引用位置:括号里的那个ALL。表示使用sudo的时候是使用的OP身份来使用的(也就是root) 4)Cmnd_Alias定义命令别名 #命令别名就是定义一个可以把汗一对命令的名字 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /usr/bin/net, /sbin/iptables #引用位置:最后一个ALL。定义完成后,可以放在最后一个ALL位置,授权后,该用户或组就可以通过sudo来使用这些命令了 #完整定义 #User_Alias by Daniel User_Alias ADMINS = admin, Daniel, %admins User_Alias NETADMINS = netadmin, %netadmins User_Alias USERADMINS = useradmin #Cmnd_Alias by Daniel Cmnd_Alias USERCMD = /usr/sbin/useradd, /usr/sbin/userdel, /user/bin/passwd [A-Za-z]*, /bin/chown, /bin/chmod Cmnd_Alias DISKCMD = /sbin/fdisk, /sbin/parted Cmnd_Alias NETCMD = /sbin/ifconfig, /etc/init.d/network Cmnd_Alias CTRLCMD = /usr/sbin/reboot, /usr/sbin/halt Runnas_Alias OP = root, Daniel ## ADMINS ALL=(ALL) USERCMD, NETCMD, CTRLCMD NETADMINS ALL=(OP) NOPASSWD: NETCMD USERADMINS ALL=(OP) NOPASSWD: USERCMD #NOPASSWD,表示输入完一次后不需要在输入密码了,默认是输入完毕后,五分钟内不需要在输入 |