Linux云服务器中怎么使用sudo

来源:程序开发作者:广州网站建设头衔:草根站长
导读:本期聚焦于小伙伴创作的《Linux云服务器中怎么使用sudo》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux云服务器中怎么使用sudo》有用,将其分享出去将是对创作者最好的鼓励。

sudo是Linux系统中用于给普通用户临时赋予root权限的工具,在云服务器场景中,出于安全考虑通常不会直接使用root账号登录操作,而是通过普通用户配合sudo完成需要高权限的操作,既降低误操作风险,也便于权限管控。

Linux云服务器中怎么使用sudo

sudo的基础概念

sudo的全称是superuser do,它的核心作用是在不切换root账号的前提下,让授权用户以root身份执行指定的命令。和直接切换到root账号相比,sudo的优势在于:

  • 可以精确控制哪些用户能执行哪些命令,权限粒度更细
  • 所有sudo操作都会被记录到日志中,便于后续审计
  • 临时权限生效,执行完命令后自动回到普通用户权限,减少误操作概率

检查并安装sudo

大部分主流的Linux云服务器镜像默认已经预装了sudo,首先可以检查是否已经安装:

# 检查sudo是否安装
which sudo
# 如果输出/usr/bin/sudo说明已经安装,否则需要手动安装

如果未安装,可以根据系统类型执行安装命令:

# CentOS/RHEL系统安装sudo
yum install sudo -y

# Ubuntu/Debian系统安装sudo
apt-get update && apt-get install sudo -y

配置sudo授权用户

sudo的配置文件是/etc/sudoers,这个文件有严格的权限要求,不能直接用普通编辑器修改,需要使用visudo命令编辑,该命令会自动检查配置语法,避免写错导致sudo无法使用。

给单个用户添加sudo权限

假设要给普通用户test添加sudo权限,步骤如下:

# 切换到root用户,或者使用已有sudo权限的用户执行
su - root
# 执行visudo命令打开配置文件
visudo

在打开的配置文件中找到root ALL=(ALL) ALL这一行,在下方添加如下内容:

# 允许用户test在所有主机上以所有用户身份执行所有命令,需要输入test自己的密码
test ALL=(ALL) ALL

如果想让test执行sudo时不需要输入密码,可以修改为:

# NOPASSWD表示执行sudo时不需要输入密码
test ALL=(ALL) NOPASSWD: ALL

给用户组添加sudo权限

如果有多用户需要sudo权限,把用户加入sudo组是更便捷的方式。在Ubuntu/Debian系统中,sudo组的用户默认拥有sudo权限;在CentOS/RHEL系统中,wheel组的用户默认拥有sudo权限。

# Ubuntu/Debian系统把test用户加入sudo组
usermod -aG sudo test

# CentOS/RHEL系统把test用户加入wheel组
usermod -aG wheel test

sudo的常用操作场景

执行单条需要高权限的命令

普通用户安装软件、修改系统配置文件等操作需要root权限,只需要在命令前加sudo即可:

# 普通用户安装nginx
sudo yum install nginx -y

# 普通用户编辑系统内核参数配置文件
sudo vi /etc/sysctl.conf

切换到root身份执行一系列操作

如果需要连续执行多条高权限命令,可以使用sudo -i或者sudo su -切换到root环境,执行完操作后输入exit退出root环境:

# 切换到root环境
sudo -i
# 此时执行的所有命令都以root身份运行
echo "test" > /root/test.txt
# 退出root环境
exit

以其他用户身份执行命令

sudo还可以指定以某个特定用户的身份执行命令,格式为sudo -u 用户名 命令

# 以www用户身份创建文件,常用于网站目录权限调整
sudo -u www touch /var/www/html/test.html

sudo使用注意事项

  • 不要随意给普通用户配置NOPASSWD: ALL权限,除非是信任的运维账号,否则会增加安全风险
  • 修改/etc/sudoers文件必须使用visudo命令,不要用vi或者nano直接编辑,避免语法错误导致所有sudo权限失效
  • 执行sudo命令时输入的是当前用户的密码,不是root用户的密码
  • 可以通过sudo -l命令查看当前用户拥有的sudo权限范围
  • sudo的操作日志默认记录在/var/log/secure(CentOS/RHEL)或者/var/log/auth.log(Ubuntu/Debian)中,出现权限问题时可以查看日志排查

sudo权限排查常见问题

如果遇到执行sudo提示权限不足,可以按以下步骤排查:

  1. 确认当前用户是否在sudo授权列表中,执行sudo -l查看
  2. 确认/etc/sudoers文件权限是否正确,正常权限应为440,执行ls -l /etc/sudoers查看,权限错误可以执行chmod 440 /etc/sudoers修复
  3. 确认用户名是否拼写正确,用户组是否添加成功,执行groups 用户名查看用户所属组
场景对应命令说明
执行单条高权限命令sudo 命令临时获取root权限执行单条命令
免密执行sudo配置NOPASSWD参数执行sudo时不需要输入密码
查看当前sudo权限sudo -l列出当前用户可执行的sudo命令范围
以指定用户执行命令sudo -u 用户名 命令非root用户也可以指定其他用户身份执行命令

sudoLinux云服务器权限管理修改时间:2026-06-13 17:15:23

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。