linux /etc/sudoers文件使用
2018-01-17 11:36
381 查看
一、命令sudo
当用户执行sudo时,系统会主动找/etc/sudoers文件,判断该用户是否有执行sudo权限,确认有权限则让用户输入自己的密码确认,接着就执行sudo后的命令。
在/etc/sudoers文件里可以看到 root ALL=(ALL) ALL,root用户可以不输入密码执行sudo后的命令;/etc/sudoers文件可以为用户授予权力。
二、/etc/sudoers文件的编辑
使用visudo命令对文件进行编辑,它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错。
visudo -c 检查语法错误
-q 不打印语法等错误
-f 指定sudoers文件
三、四中类型别名
User_Alias
Runas_Alias
Host_Alias
Cmd_Alias
可以将这些类型看成数据类型,用来定义变量,如:
User_Alias NAME=User_List
Runas_Alias NAME=Runas_List
HOST_Alias NAME=Host_List
Cmnd_Alias NAME=Cmnd_List
NAME为变量名,必须以大写字母开头,而且只能包含大写字母,数字,下划线;User_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<
a71e
/span>| "sudoedit" | Cmnd_Alias]
四、用户规则(User Specification)
用户规则定义的语法如下:
User_List Host_List=(Runas_List1:Runas_List2) SELinux_Spec Tag_Spec Cmnd_List,...
同样有
user
MACHINE=COMMANDS
用户
登录的主机=(可变换的身份)(控制命令的选项)可执行的命令
下面对上面的语法进行说明一下:
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用户执行。
当用户执行sudo时,系统会主动找/etc/sudoers文件,判断该用户是否有执行sudo权限,确认有权限则让用户输入自己的密码确认,接着就执行sudo后的命令。
在/etc/sudoers文件里可以看到 root ALL=(ALL) ALL,root用户可以不输入密码执行sudo后的命令;/etc/sudoers文件可以为用户授予权力。
二、/etc/sudoers文件的编辑
使用visudo命令对文件进行编辑,它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错。
visudo -c 检查语法错误
-q 不打印语法等错误
-f 指定sudoers文件
三、四中类型别名
User_Alias
Runas_Alias
Host_Alias
Cmd_Alias
可以将这些类型看成数据类型,用来定义变量,如:
User_Alias NAME=User_List
Runas_Alias NAME=Runas_List
HOST_Alias NAME=Host_List
Cmnd_Alias NAME=Cmnd_List
NAME为变量名,必须以大写字母开头,而且只能包含大写字母,数字,下划线;User_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<
a71e
/span>| "sudoedit" | Cmnd_Alias]
四、用户规则(User Specification)
用户规则定义的语法如下:
User_List Host_List=(Runas_List1:Runas_List2) SELinux_Spec Tag_Spec Cmnd_List,...
同样有
user
MACHINE=COMMANDS
用户
登录的主机=(可变换的身份)(控制命令的选项)可执行的命令
下面对上面的语法进行说明一下:
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 /etc/sudoers文件使用
- linux下因修改/etc/sudoers 从而导致sudo命令无法使用
- linux下因修改/etc/sudoers 从而导致sudo命令无法使用
- Linux sudo命令与其配置文件/etc/sudoers
- 详解Linux下的sudo及其配置文件/etc/sudoers的详细配置
- linux小知识之/etc/sudoers文件应用实例
- Linux下的sudo及其配置文件/etc/sudoers的详细配置说明
- Linux sudo命令与其配置文件/etc/sudoers
- Linux下的sudo及其配置文件/etc/sudoers的详细配置说明
- Linux下的sudo及其配置文件/etc/sudoers的详细配置说明
- Linux sudo命令与其配置文件/etc/sudoers
- /etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令
- Linux使用sudo提权时,出现xx 不在 sudoers 文件中。此事将被报告。visudo 命令简单介绍。
- linux中对于文件sudoers的配置以及使用
- Linux下的sudo及其配置文件/etc/sudoers的详细配置说明
- 【Linux】用户不在sudoers文件中(不会vi的里面也有使用到的步骤说明)
- ubuntu中sudo不能使用的问题,/etc/sudoers文件不存在
- 【Linux中sudoers文件与sudo】的简单介绍
- 今天在虚拟机上用vi 修改 /etc/sudoers 文件,结果 文件系统变为只读!同时sudo 命今不可用
- Linux常见错误:1、关于“xx 不在 sudoers 文件中。此事将被报告。