Linux 每日一命令 - 临时提权命令(sudo)

in Linux with 0 comment

使用场景:为其他非root用户提供一个临时提权。

概要

用法

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:语法检查

相关文件

配置文件支持使用通配符:
? :任意单一字符
* :匹配任意长度字符
[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
回复