SUDO命令

目录

  1.简单描述

  2.常用语法

  3.示例

1.简单描述

###sudo命令把指定的命令的执行权限授予给指定的用户【哪些/个用户以谁的身份访问哪个/些主机,可以执行的哪个/些命令,命令使用绝对路径】###

###日志文件路径/var/log/secure###

2.常用语法

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          :更改询问密码的提示语 

3.示例

###示例###
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

成功的背后都是汗水
原文地址:https://www.cnblogs.com/xiaofu89120/p/12381190.html