sudo命令的配置文件为/etc/sudoers。
打开此配置文件的命令为 visudo。
/etc/sudoers 的规则可分为两类;
一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的;
1、别名规则定义格式如下:
Alias_TypeNAME = itemA, itemB, ...
或
Alias_TypeNAME = itemA, itemB, itemC : NAME = itemD, itemE
别名类型(Alias_Type):别名类型包括如下四种
Host_Alias 定义主机别名;
User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,sudo 允许切换至的用户;
Cmnd_Alias 定义命令别名;
eg:
Host_Alias HTA=localhost,host1,host2,100,10,0,4,255.255.255.0,192.168.1.0/24 注:定义主机别名HTA,通过=号列出成员
User_Alias SYSAD=shuaiguoguo,xiaojiejie,datui,tiechu 注:定义用户别名,下有四个成员;要在系统中确实在存在的;
Cmnd_Alias USERMAG=/usr/sbin/adduser,/usr/sbin/userdel,/bin/chown,/bin/chmod
注意:命令别名下的成员必须是文件或目录的绝对路径;
Runas_Alias OP = root, operatorRunas_Alias DBADM=mysql:OP = root, operator
注:这行是上面两行的等价行;至于怎么理解Runas_Alias ,我们必须得通过授权规则的实例来理解;
如果用户组出现在/etc/sudoers 中,前面要加%号,比如%beinan ,中间不能有空格;
2、授权规则:
授权用户 主机=(切换到用户的账号,root可省略)命令动作
eg:
usera ALL=/usr/sbin/*,/sbin/*,!/usr/sbin/fdisk
userb localhost=/usr/bin/cat