Linux sudo 命令

Linux sudo 命令

Linux sudo 命令

Linux 命令大全

sudo 全称为 Super User DO,允许授权用户以其他用户(通常是 root 用户)的身份执行命令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

语法sudo [选项] 命令

例如:

sudo apt update # 以 root 权限更新软件包列表

sudo vim /etc/hosts # 编辑需要 root 权限的文件

参数说明:

-i: 模拟初始登录,加载目标用户的环境

-s: 运行shell

-u user: 以指定用户身份运行

-l: 列出当前用户可执行的sudo命令

-v: 验证用户凭据(延长sudo会话)

-k: 撤销sudo凭据缓存

实例

以 root 权限执行单个命令:

sudo apt update

sudo systemctl restart nginx

sudo mkdir /opt/myapp

切换到 root 用户shell:

sudo -i # 登录shell,加载root环境变量

sudo -s # 非登录shell

sudo su - # 另一种方式

以其他用户身份执行命令:

sudo -u username command

sudo -u postgres psql # 以 postgres 用户运行 psql

检查可用权限:

sudo -l

编辑系统文件:

sudo nano /etc/hosts

sudo vim /etc/nginx/nginx.conf

配置文件

sudo 的配置存储在 /etc/sudoers 文件中,应该使用 visudo 命令编辑:

sudo visudo

常见配置示例:

# 允许用户免密码执行所有命令

username ALL=(ALL) NOPASSWD: ALL

# 允许用户组执行特定命令

%wheel ALL=(ALL) /bin/systemctl, /usr/bin/apt

常见问题

用户不在 sudoers 文件:

# 需要 root 用户将目标用户加入 sudo 组:

usermod -aG sudo username # Ubuntu/Debian

usermod -aG wheel username # CentOS/RHEL

缓存时间调整:

修改 /etc/sudoers 中的 timestamp_timeout(单位:分钟):

Defaults timestamp_timeout=30

su vs sudo 的区别

特性

su

sudo

需要密码

目标用户密码

当前用户密码

会话持续

直到手动exit

单次命令或短时间缓存

配置复杂度

简单

需要配置sudoers

安全性

需要知道root密码

更细粒度的权限控制

审计

有限

更详细的日志

su 命令虽然简单直接,但在现代系统管理中,sudo 通常是更推荐的选择,因为它提供了更好的安全性和审计能力。

Linux 命令大全

相关推荐

男高潮也分等級? 必學8招...托起睪丸提升「噴射力」
职业技能培训证书是什么证书 国家职业培训证书怎么考
归的反义词是什么
365投注终止

归的反义词是什么

11-09 👁️ 5580
智利赛程时间表
365体育旗下APP

智利赛程时间表

07-31 👁️ 6853
使用VPN更改IP地址的详细指南
365投注终止

使用VPN更改IP地址的详细指南

09-22 👁️ 3606
高山滑雪世界杯
365bet现场滚球

高山滑雪世界杯

07-14 👁️ 3623
装饰画的画框如何选择 装饰画画框材质有哪些
惠威音响与JBL音箱:品质与实力的较量
365投注终止

惠威音响与JBL音箱:品质与实力的较量

10-14 👁️ 5601
【说站】phpstorm配置php环境
365体育旗下APP

【说站】phpstorm配置php环境

07-02 👁️ 3620