Linux命令之 sudo命令

warning: 这篇文章距离上次修改已过1394天,其中的内容可能已经有所变动。
toc end ->

以系统管理者的身份执行命令。而不需要切换用户。

仅限在/etc/sudoers中记录的用户使用。

命令语法

sudo -h | -K | -k | -V

sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]

sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]

sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]

sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ...

附加参数

参数说明
-A, --askpass使用助手程序进行密码提示
-b, --background在后台运行命令
-C, --close-from=num关闭所有 >= num 的文件描述符
-E, --preserve-env在执行命令时保留用户环境
--preserve-env=list保留特定的环境变量
-e, --edit编辑文件而非执行命令
-g, --group=group以指定的用户组或 ID 执行命令
-H, --set-home将 HOME 变量设为目标用户的主目录。
-h, --help显示帮助消息并退出
-h, --host=host在主机上运行命令(如果插件支持)
-i, --login以目标用户身份运行一个登录shell;可同时指定一条命令
-K, --remove-timestamp完全移除时间戳文件
-k, --reset-timestamp无效的时间戳文件
-l, --list列出用户权限或检查某个特定命令;对于长格式,使用两次
-n, --non-interactive非交互模式,不提示
-P, --preserve-groups保留组向量,而非设置为目标的组向量
-p, --prompt=prompt使用指定的密码提示
-r, --role=role以指定的角色创建 SELinux 安全环境
-S, --stdin从标准输入读取密码
-s, --shell以目标用户运行 shell;可同时指定一条命令
-t, --type=type以指定的类型创建 SELinux 安全环境
-T, --command-timeout=timeout在达到指定时间限制后终止命令
-U, --other-user=user在列表模式中显示用户的权限
-u, --user=user以指定用户或 ID 运行命令(或编辑文件)
-V, --version显示版本信息并退出
-v, --validate更新用户的时间戳而不执行命令
--停止处理命令行参数

常用范例

用特权执行命令

sudo touch test

指定用户执行命令

sudo -u root touch test

可以发现文件所有者是root可以发现文件所有者是root


列出目前的权限

sudo -l

sudo命令相关的信息sudo命令相关的信息


以管理员权限执行上一条命令

sudo !!

以管理员权限执行上一条命令以管理员权限执行上一条命令


以特定用户身份进行编辑文本

sudo -u mysql vim test
评论已关闭