SUDO命令
目录
###sudo命令把指定的命令的执行权限授予给指定的用户【哪些/个用户以谁的身份访问哪个/些主机,可以执行的哪个/些命令,命令使用绝对路径】###
###日志文件路径/var/log/secure###
1)语法:【man sudoers】 谁 访问的主机=(以谁的身份) [TAG]: 可执行的命令列表 root ALL = (ALL) ALL 2)定义别名【别名必须是大写字符组成】(类似于组的概念) Alias ::= 'User_Alias' User_Alias (':' User_Alias)* |--->谁 'Runas_Alias' Runas_Alias (':' Runas_Alias)* |--->以谁的身份 'Host_Alias' Host_Alias (':' Host_Alias)* |--->访问的主机 'Cmnd_Alias' Cmnd_Alias (':' Cmnd_Alias)*--->执行的命令 3)别名详细说明 [1]User_Alias :用户的用户名 :组名:使用%引导 :还可以包含其他用户别名(支持嵌套) [2]Host_Alias :主机名 :IP :网络地址 :其他主机别名(支持嵌套) [3]Runas_Alias :用户名 :%组名 :其他的Runas别名 [4]Cmnd_Alias :命令路径 :目录(此目录内的所有命令) :其他已定义的命令别名 4)常用参数 -l :列出当前用户可执行的命令 -u用户名或UID值 :以指定的用户身份执行命令 -k :清空密码的有效时间,下次执行sudo时需要再次进行密码验证 -b :在后台执行指定的命令 -p :更改询问密码的提示语
###示例### root@redhat#visudo 1)user01,user02用户不需要密码可以执行网络服务命令 ## Host Alias Host_Alias RHEL7 = 192.168.130.129/32 ## User Alias User_Alias USERS = user01,user02 ## Runas Alias ## Command Aliases Cmnd_Alias NETWORKINGS = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool #常用TAG选项为"PASSWD和NOPASSWD" USERS RHEL7=(root) NOPASSWD: NETWORKINGS,/usr/bin/cat, /usr/sbin/useradd,/usr/bin/passwd[A-Za-z]*,! /usr/bin/passwd root 2)使用sudo -l查看 User user01 may run the following commands on redhat7: (root) NOPASSWD: /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /usr/bin/cat, /usr/sbin/useradd, /usr/bin/passwd[A-Za-z]*, !/usr/bin/passwd root
成功的背后都是汗水