概述
sudoers文件的作用是控制用户可以执行哪些指令。它是Linux系统管理员的重要一课喔。
文件的组成
sudoers文件由三部分组成:
- sudoers的默认配置,主要设置sudo的一些缺省值(本文不会对这些默认配置进行介绍,若有兴趣可以自己man 5 sudoers然后搜defaults)
- alias(别名),可以看作是变量的定义啦,本文也会全面的说说别名的定义。
- 规则定义,sudoers文件的重点啦,本文会着重说明规则的定义。
Alias(别名)
一共有四种类型的别名,这些类型可以看作它们是数据类型啦哈。
- User_Alias
- Runas_Alias
- Host_Alias
- Cmnd_Alias
那么要如何定义这些Alias呢?语法如下:User_Alias NAME=User_ListRunas_Alias NAME=Runas_ListHost_Alias NAME=Host_ListCmnd_Alias NAME=Cmnd_List 这里的NAME就可以看作是变量名咯。
注意,NAME必须是要以大写字母开头,而且只能包含有大写字母,数字,下划线呢。那么User_List,Runas_List,Host_List,Cmnd_List又是什么呢?其实就是以“,"分隔的一个数组啦,只不过这四个别名表示的数组内容都会不同啦。 现在分别看看User_List,Runas_List,Host_List,Cmnd_List的每个数组元素可以是些什么值吧!
User:[
!][
username |
#uid |
%groupname |
+netgroup |
%:nonunix_group |
User_Alias]
Runas:[
!][
username|
#uid |
%groupname |
+netgroup |
Runas_Alias]
Host:[
!][
hostname |
ip_addr |
network(/netmask)? |
netgroup |
Host_Alias]
Cmnd:[
!][
commandname|
directory|
"sudoedit" |
Cmnd_Alias] 看看上面的元素名就可以知道大概什么意思了吧?这里着重拿些可能有疑问的出来说说。
叹号"!"表示取反的意思啦。每个元素都可以是之前定义过的别名变量啦,所以会有User_List,Runas_List,Host_List,Cmnd_List这些元素啦。directory表示有可以进入该目录并执行命令的权限啦"sudoedit"表示允许用户使用sudo -e选项。 如果还没搞懂的话,可以看下面的别名定义的例子:User_Alias USER_TEST=tim,#501,%svn,+webgroup,%:nonunix,!nouserRunas_Alias RUNAS_TEST=tim,#501,%svn,!+webgroupHost_Alias HOST_TEST=!www.baidu.com,localhost,127.0.0.1Cmnd_Alias CMND_TEST=Cmnd_Alias CMDS=/bin/passwd,/bin/ls,/home/svn
User Specification(用户规则)
用户规则定义的语法如下:User_List Host_List=(Runas_List1:Runas_List2) SELinux_Spec Tag_Spec Cmnd_List,...下面对上面的语法进行说明一下:User_List(必填项):指的是该规则是针对哪些用户的。Host_List(必填项):指的是该规则针对来自哪些主机的用户。Runas_List1(可选项):表示可以用sudo -u来切换的用户Runas_List2(可选项):表示可以用sudo -g来切换的用户组SELinux_Spec(可选项):表示SELinux相关的选项,可选值为ROLE=role 或 TYPE=type。本人对SELinux不太熟,以后再补充这里吧。Tag_Spec(可选项):用于控制后面Cmnd_List的一些选项啦,可选值有下面这些,具体自己man一下吧,这里就不啰嗦了。"NOPASSWD:" | "PASSWD:" | "NOEXEC:" | "EXEC:" | "SETENV:" | "NOSETENV:" | "LOG_INPUT:" | "NOLOG_INPUT:" | "LOG_OUTPUT:" | "NOLOG_OUTPUT:"...(可选项):表示可以有多个(Runas_List1:Runas_List2) SELinux_Spec Tag_Spec Cmnd_List段的意思了。Notice:如果Runas_List1和Runas_List2都没填的话,默认是以root用户执行如果不是很理解的话,可以对比着文章后面举的例子来看下,应该难不倒聪明的我们!
Linux软件安装经验总结Linux基础——file命令与magic file相关资讯 Linux sudoers sudoers
- Linux中sudo的用法和sudoers配置详 (今 07:04)
- sudoers文件解析 (09/18/2015 09:46:05)
| - Ubuntu 用户名 不在 sudoers文件中 (05月11日)
- Linux怎么添加用户成为sudoers (06/16/2013 09:14:07)
|
本文评论 查看全部评论 (0)