Linux sudo用户提权与配置

一、格式说明及常用配置选项

格式: 用户或组 主机=授权使用哪个用户的权限 可以执行的命令

User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))
例:User_Alias OLD_ADMINS=wt

Runas_Alias 定义runas别名(sudo允许切换到的用户身份)
例:Runas_Alias OP=root

Cmnd_Alias 定义命令别名
例:Cmnd_Alias USERCMD=/usr/sbin/useradd

注意事项:如果别名后面有多个用户或命令,可以使用","隔开;如果使用的是组,在组前面需要加"%";如果配置语句太长,可以使用"\"换行;需要特别注意的是,所有定义的别名都需要大写

二、配置一个范例

1、创建一个新用户

1 [root@WT ~]# useradd wt
2 [root@WT ~]# echo "wt"|passwd --stdin wt
3 Changing password for user wt.
4 passwd: all authentication tokens updated successfully.

2、执行visudo命令在最下面添加如下配置,实现sudo提权

#My sudo configuration
User_Alias OLD_ADMINS=wt
Runas_Alias OP=root
Cmnd_Alias USERCMD=/usr/sbin/useradd

OLD_ADMINS ALL=(OP) USERCMD

3、切换到wt用户,并执行查看wt所拥有的权限(可以看到wt这个普通用户已经拥有创建用户命令的useradd命令了)

 1 [root@WT ~]# su - wt
 2 Last login: Thu Sep 27 21:54:09 CST 2018 on pts/0
 3 [wt@WT ~]$ sudo -l
 4 
 5 We trust you have received the usual lecture from the local System
 6 Administrator. It usually boils down to these three things:
 7 
 8     #1) Respect the privacy of others.
 9     #2) Think before you type.
10     #3) With great power comes great responsibility.
11 
12 [sudo] password for wt: 
13 Matching Defaults entries for wt on WT:
14     !visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR
15     LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
16     LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
17     env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
18 
19 User wt may run the following commands on WT:
20     (root) /usr/sbin/useradd

4、试在普通用户wt用户创建一个test用户

1 [wt@WT ~]$ sudo useradd test
2 [wt@WT ~]$ id test
3 uid=1001(test) gid=1001(test) groups=1001(test)

猜你喜欢

转载自www.cnblogs.com/wutao666/p/9721176.html