sudo介绍
sudo:superuser do,即使用超级用户执行,配置文件为/etc/sudoers;sudo使用需要输入用户密码,输入后5分钟内无需再次输入密码
sudo特性:
1、能够授权指定用户在指定主机上运行某些命令
2、日志能够记录用户执行了什么命令
3、sudo的配置文件为sudoers文件,属性必须为0440
sudo组成
配置文件:/etc/sudo.conf
授权规则文件:/etc/sudoers /etc/sudoers.d/ 下新增文件
安全编辑授权规则文件语法检查工具: /usr/sbin/visudo
检查语法
visudo -c
检查指定配置文件语法
visudo -f /etc/sudoers.d/test
编辑授权规则文件工具:/usr/bin/sudoedit
执行授权命令:/usr/bin/sudo
时间戳文件:/var/db/sudo
日志文件:/var/log/secure
sudo命令
sudo –i –u lgw 切换身份
sudo [-u user] COMMAND
-V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号
示例:-p "password on %h for user %p: "
sudo授权规则配置
配置文件格式说明:/etc/sudoers /etc/sudoers.d/
配置文件中支持使用通配符 glob
? 任意单一字符
* 匹配任意长度字符
[wxc] 匹配其中一个字符
[!wxc] 除了这三个字符的其它字符
\x 转义
[[alpha]] 字母
如下
/bin/ls [[alpha]]*
配置文件规则有两类
别名定义:非必须 授权规则:必须
sudoers授权规则如下
用户 登录主机=(用户) 命令
user host=(runas) command
user: 运行命令者的身份
host: 通过哪些主机
(runas):以哪个用户的身份
command: 运行哪些命令
sudoer别名
User和runas:
username
#uid
%group_name
%#gid
user_alias|runas_alias
host:
ip或hostname
network(/netmask)
host_alias
command:
command name
directory
sudoedit
Cmnd_Alias
别名定义:
User_Alias ADMINUSER = adminuser1,adminuser2
Cmnd_Alias ADMINCMD = /usr/sbin/useradd,/usr/sbin/usermod, /usr/bin/passwd [azA-Z]*, !/usr/bin/passwd root
Host_Alias SERS=172.16.0.0/24
Runas_Alias OP=root
修改时间戳为2分钟