使用场景:为其他非root用户提供一个临时提权。
概要
sudo
能够授权指定用户在指定主机上运行某些命令。 如果未授权用户尝试使用sudo
,会提示联系管理员sudo
可以提供日志,记录每个用户使用sudo
操作sudo
为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机sudo
使用时间戳文件来完成类似“检票”的系统,默认存活期为5分钟的“入场券”
用法
sudo -i -u wang 切换身份
sudo [-u user] COMMAND
-V:显示版本信息等配置信息
-u:指定用户,不指定默认为root
-l:列出用户在主机上可用的和被禁止的命令
-v:再延长密码有效期限5分钟,更新时间戳
-k:清除时间戳(1970-01-01),下次需要重新输密码
-K:与-k类似,还要删除时间戳文件
-b:在后台执行指令
-p:改变询问密码的提示符号
配置
通过 visudo
命令编辑 sudo
配置文件,具有语法检查功能。
visudo
–c:语法检查
相关文件
- 配置文件:
/etc/sudoers
- 时间戳文件:
/var/db/sudo
- 日志文件:
/var/log/secure
配置文件支持使用通配符:
? :任意单一字符
* :匹配任意长度字符
[wxc]:匹配其中一个字符
[!wxc]:除了这三个字符的其它字符
\x : 转义
[[alpha]] :字母
示例: /bin/ls [[alpha]]*
配置文件规则有两类:
- 别名定义:不是必须的
- 授权规则:必须的
实例
环境创建:useradd kane && echo 123456 | passwd --stdin kane
# 授权 kane 用户使用 ls cat命令
kane ALL=(ALL) /bin/ls, /bin/cat
# 只能实时查看/var/log/secure
kane ALL=(ALL) /usr/bin/tail -f /var/log/secure
# 授予/bin/下全部命令,排除rm su vi vim
kane ALL=(ALL) /bin/*, !/bin/rm, !/bin/su, !/bin/vi, !/bin/vim
# 授予用户全部命令并且不询问密码
kane ALL=(ALL) NOPASSWD: ALL
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2018-07-03 10:06 AM