Sudo配置

发布时间 2023-05-04 09:51:55作者: 少年阿丁

Sudo

Sudo的作用是允许谁去以谁的身份去执行命令。

配置sudo可以用root用户去修改/etc/sudoers文件,也可以使用visudo命令。

简单的格式:

root    ALL=(ALL:ALL) ALL

root表示该用户root可以使用sudo命令;

第一个ALL指的是网络中的主机(可以是主机名也可以是ip地址,控制登录系统的终端那些可以执行后面的命令),它指明root用户可以在此主机上执行后面命令;

第二个括号里的两个ALL是指目标用户和所属的用户组,也就是以谁的身份去执行命令;

最后一个ALL是指命令路径,ALL指所有路径下的所有命令;

编辑规则

Sudo文件中用于修改或者增加的一般有两部分。一、设置别名;二、设置sudo命令的用户权限

设置别名

设置主机别名Host_Alias

         主机别名主要是用来创建主机分组,授予该组主机可以访问哪些命令或命令别名。

Host_Alias HOST1 = host1, host2,192.168.1.2

用户别名 User_Alias

         用户别名允许root将多个用户整理成一组中,并按组来分配目标用户的权限。

User_Alias GROUP1 = user1, user2

目标别名Runas_Alias

Runas_Alias EX1=item_list

命令别名Cmnd_Alias

         就是将一部分命令进行归类,方便系统管理员有效分配权限。

Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

设置sudo命令的语法规则

User_List Host_List=(Runas_List1:Runas_List2) Tag_Spec Cmnd_List

#User_List(必填项):指的是该规则是针对哪些用户的,可以使用用户的别名

Host_List(必填项):指的是该规则针对来自哪些主机的用户 可以使用主机的别名

Runas_List1(可选项):表示可以用sudo -u来切换的用户 可以使用目标别名

Runas_List2(可选项):表示可以用sudo -g来切换的用户组可以使用目标别名

Tag_Spec(可选项):用于控制后面Cmnd_List的一些选项,可选值有下面这些 'NOPASSWD:' | 'PASSWD:' | 'NOEXEC:' | 'EXEC:' |'SETENV:'|'NOSETENV:'|'LOG_INPUT:'|'NOLOG_INPUT:'|'LOG_OUTPUT:' |'NOLOG_OUTPUT:'|'MAIL:'|'NOMAIL:'|

注意:如果Runas_Alias和Runas_Alias都没填的话,默认是以root用户执行