前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sudo command

sudo command

作者头像
恋喵大鲤鱼
发布2023-10-12 15:32:09
2060
发布2023-10-12 15:32:09
举报
文章被收录于专栏:C/C++基础

1.命令简介

sudo 可以用指定的用户身份执行指定的指令,而无需输入指定用户的密码,只需要输入当前用户的密码。未指定用户名默认为 root。

2.命令格式

代码语言:javascript
复制
sudo [OPTIONS] [CMD]

没有选项与命令单独执行 sudo,将列出 sudo 简要使用方法。

3.选项说明

代码语言:javascript
复制
-A
	使用辅助程序(可能是图形化界面的程序)读取用户的密码并将密码输出到标准输出。如果设置了环境变量 SUDO_ASKPASS,它会指定辅助程序的路径,否则,由配置文件 /etc/sudo.conf 的 askpass 选项来指定辅助程序的路径。如果没有可用的辅助程序,sudo 将错误退出
-b
	选项 -b(background)把 sudo 所要运行的命令放到后台运行
-E
	选项 -E(preserve Environment)向安全策略指示用户希望保存他们现有的环境变量。如果指定了 -E 选项,且用户没有保留环境变量的权限,则安全策略可能返回错误
-H
	选项 -H(Home)将 HOME 环境变量设置为目标用户的家目录,目标用户默认为 root
-h
	选项 -h(help)显示帮助信息并退出
-i [CMD]
	选项 -i(simulate initial login)将模拟初始登录,即启动目标用户在 /etc/passwd 中配置的 Shell,相关的资源文件将被读取并执行,比如 ~/.profile 和 ~/.login。如果后跟命令 CMD,则 CMD 将被传递给 Shell 并被执行
-K
	选项 -K(sure Kill)类似于 -k,它只用于删除了用户的缓存凭据,不能与命令或其他选项一起使用
-k [CMD]
	单独使用 -k(kill)选项时,使密码缓存失效,也就是下次执行 sudo 时需要输入密码。如果后跟命令,表示忽略缓存密码,需要用户重新输入密码 ,新输入的密码不会更新密码缓存
-l[l] [CMD]
	如果选项 -l(list)后不跟命令,则列出 sudo 允许当前用户(或使用 -U 指定的其他用户)执行的指令和无法执行的指令。如果指定了命令并被安全策略所允许,则将显示该命令绝对路径以及命令参数。如果指定了命令不被允许,sudo 以状态码 1 退出。如果使用 -ll 或多次指定 -l 选项,则使用长格式输出
-n
	选项 -n(non-interactive)表示以非交互模式执行 sudo,阻止 sudo 向用户询问密码。如果执行命令时需要密码,则 sudo 将报错误信息并退出
-p PROMPT
	改变询问密码的提示符号
-s [CMD]
	选项 -s(shell)执行环境变量 SHELL 表示的 Shell,如果 SHELL 没有值,则执行目标用户在配置文件 /etc/passwd 中配置的 Shell。如果选项后跟命令,则传递给 Shell 执行,如果没有指定命令,则执行交互式 Shell
-U USER
	选项 -U(other user)与 -l 选项一起使用,以指定应列出其权限的用户。sudoers 策略仅允许 root 用户或当前主机上具有 ALL 权限的用户使用此选项
-u USER
	选项 -u(user)指定执行命令时使用的用户身份,默认为 root。如果使用 uid 则使用 #uid 表示用户
-V, --version
	显示版本信息并退出。
-v, --validate
	更新用户的缓存凭据,使密码有效期延长 5 分钟。

注意: sudo 运行时要参照配置文件 /etc/sudousers ,该文件配置了用户能够执行的命令。

4.常用示例

(1)查看此当前用户拥有的权限。

代码语言:javascript
复制
sudo -l
Matching Defaults entries for lvlv on jumper02:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User lvlv may run the following commands on jumper02:
    (ALL) NOPASSWD: ALL

(2)以指定用户身份执行命令。

代码语言:javascript
复制
sudo –u USERNAME CMD

(3)结束密码有效期,也就是下次执行 sudo 时需要输入密码。

代码语言:javascript
复制
sudo -k

(4)以指定用户创建一个文件,缺省为 root 用户。

代码语言:javascript
复制
sudo touch file

ls -l file
-rw-r--r-- 1 root root 0 5月  14 19:10 file

(5)显示版本信息并退出。

代码语言:javascript
复制
sudo -V
Sudo version 1.8.21p2
Sudoers policy plugin version 1.8.21p2
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.21p2

参考文献

sudo(8) - Linux manual page - man7.org

sudo命令 - Linux 命令大全

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档