BWH Compass

创建管理用户并理解 sudo 权限

普通用户负责日常工作,需要系统权限时再通过 sudo 执行具体命令。是否能使用 sudo,由管理员授权决定。

BWH Compass 编辑整理更新于 约 4 分钟阅读

1. 为什么日常操作使用普通用户#

root 可以修改整台服务器,输错路径的后果也最大。普通用户平时只操作自己的文件,需要管理系统时再用 sudo 提升权限,命令记录和人员分工更清晰。sudo 用户仍拥有很高权限,不应把所有协作者都加入管理组。

先保留当前 root 连接,并确认控制台可用。下面以新建 deploy 用户为例,它只是示例名称,可以换成有意义的运维用户名。

2. Ubuntu/Debian 新建用户并加入 sudo 组#

bash
sudo adduser deploy
sudo usermod -aG sudo deploy
id deploy

adduser 会创建家目录并提示设置密码;-aG 表示追加组,漏掉 -a 可能覆盖原有附加组。Debian 的精简镜像可能尚未安装 sudo,可先由 root 通过系统软件源安装。

对于 Rocky/Alma 等 RHEL 系发行版,管理组通常是 wheel,应使用本发行版的用户创建流程与 sudoers 设置,不要把 Ubuntu 的组名照搬过去。

3. 给新用户配置 SSH 登录#

SSH 密钥教程把本机公钥加入 deploy~/.ssh/authorized_keys。如果用 root 代为创建文件,检查目录和文件的所有者,避免文件属于 root 而导致新用户无法维护。

在自己的电脑另开一个终端连接:

bash
ssh -p 22 deploy@203.0.113.10
whoami
sudo -v
sudo whoami

前一个 whoami 应输出 deploy,最后一个应输出 root。sudo 默认可能要求输入当前普通用户的密码,而不是 root 密码;使用密钥登录并不自动设置这个密码。

保留 KiwiVM 控制台作为账户配置的恢复入口
服务商官方知识库公开截图(旧版界面),用于对照功能名称;当前菜单位置可能调整。图中的套餐、IP、端口和日期仅为示例。

4. 管理 sudo 权限使用 visudo#

需要自定义规则时使用 visudo,它会做语法检查;不要直接用普通编辑器保存一份未经校验的 /etc/sudoers。自动化账户应按任务授予权限,避免随意配置 NOPASSWD: ALL

bash
sudo visudo -c
sudo -l

第一条检查规则,第二条查看当前用户允许执行什么。规则涉及命令参数、通配符和可写脚本时,权限可能比表面更大;例如允许修改一个由 root 执行的脚本,实际就可能等同于 root 权限。

5. 撤销权限与删除账户是两回事#

Ubuntu/Debian 可用 sudo deluser deploy sudo 撤销 sudo 组成员身份。这不会自动关闭已经登录的会话,也不会删除 SSH 公钥。人员离开时还要按需撤销密钥、停用账户并检查已有会话与定时任务。

删除账户前先确认它拥有的网站文件、计划任务和服务配置,将需要的文件交接给正确用户。不要在撤权时顺手删除家目录,避免丢失唯一备份。完成后用另一个管理员账户测试服务正常,再关闭旧连接。

完成后检查

完成测试后再限制直接 root 登录。不要把“能运行所有命令且免密码”当作默认配置。

官方资料与相关入口