在云服务器(无论是阿里云 ECS、腾讯云 CVM 还是华为云等)的语境下,“添加新用户”通常涉及两个层面的概念,必须区分清楚,因为它们的权限配置逻辑完全不同:
- 操作系统内部的用户(如 Linux 的
useradd或 Windows 的本地用户) - 云平台控制台的 RAM/IAM 子账号(用于管理云资源本身)
绝大多数初学者混淆了这两者。下面我将分别阐述,并重点说明实际操作中“正常使用云服务器”所需的最小权限原则。
一、如果你指的是【操作系统内部的用户】(Linux/Windows)
这是指登录到服务器后,在系统层面创建的用户。目的是实现多用户协作、权限隔离和最小权限原则。
✅ 核心原则:最小权限原则(Principle of Least Privilege)
不要给普通用户 root/Administrator 权限,除非绝对必要。
📌 Linux 系统典型配置步骤与权限要求
1. 创建用户
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
2. 赋予基本使用权限(非特权操作)
- 无需额外配置:默认情况下,新用户可以登录、查看自己的文件、运行普通命令(如
ls,cat,vim,python,node等)。 - SSH 密钥登录推荐:为提升安全性,建议为该用户生成 SSH 密钥对,并将公钥写入
~/.ssh/authorized_keys。
3. 需要 sudo 权限的场景(常见需求)
如果该用户需要安装软件、修改系统配置、重启服务等,需加入 sudoers 组:
# 方法一:加入 wheel 或 sudo 组(不同发行版略有差异)
sudo usermod -aG wheel newuser # CentOS/RHEL/Fedora
# 或
sudo usermod -aG sudo newuser # Ubuntu/Debian
# 方法二:通过 visudo 精确授权(更推荐,更安全)
sudo visudo
# 添加行:
newuser ALL=(ALL) NOPASSWD: /usr/bin/apt-get, /usr/bin/systemctl restart nginx
⚠️ 注意:避免直接允许
NOPASSWD: ALL,这会等同于 root。
4. 文件系统权限
确保用户对其工作目录有读写权限:
sudo chown -R newuser:newuser /home/newuser/project
sudo chmod 755 /home/newuser/project
二、如果你指的是【云平台控制台的用户】(RAM/IAM 子账号)
这是指在阿里云、腾讯云等云平台后台创建的子账号,用于远程管理云服务器(ECS/CVM),比如重启实例、挂载磁盘、查看监控等。
✅ 核心原则:按服务粒度授权,禁止使用主账号 AK/SK 给子程序使用
1. 创建 RAM 子账号(以阿里云为例)
- 登录 RAM 控制台 → 创建用户 → 选择“OpenAPI 调用访问”或“控制台登录”。
- 记录 AccessKey ID 和 Secret,或设置密码。
2. 最小权限策略示例
| 使用场景 | 推荐权限策略 | 说明 |
|---|---|---|
| 仅查看监控数据 | AliyunCloudMonitorReadOnlyAccess |
只能看 CPU、带宽等指标,不能操作任何资源 |
| 重启/停止/启动 ECS 实例 | AliyunECSReadOnlyAccess + 自定义策略允许 StartInstances, StopInstances, RebootInstances |
不建议直接赋 AliyunECSFullAccess |
| 部署应用(通过 API) | 自定义策略,仅允许特定实例 ID 的操作 | 结合标签(Tag)或实例 ID 进行细粒度控制 |
| 管理 OSS 存储桶 | AliyunOSSReadOnlyAccess 或自定义策略 |
仅允许读取指定 Bucket |
3. 关键安全建议
- 启用 MFA(多因素认证):所有拥有高权限的子账号必须开启 MFA。
- 定期轮换 AK/SK:每 90 天更换一次密钥。
- 使用角色(Role)而非长期密钥:如果需要在其他云服务(如函数计算 FC、容器服务 ACK)中访问 ECS,应使用“服务关联角色”,而不是把 ECS 的 AK/SK 硬编码在代码里。
三、总结:如何配置“正常使用”的权限?
场景 A:开发人员需要登录服务器写代码、跑服务
→ 配置操作系统内部用户
- 创建普通用户
- 赋予其对自己项目目录的读写权
- 如需安装依赖,临时授予
sudo权限或使用虚拟环境(venv/conda)避免系统级冲突 - 推荐使用 SSH 密钥登录,禁用密码登录
场景 B:运维人员需要重启服务器、扩容磁盘
→ 配置云平台 RAM 子账号
- 创建子账号
- 授予最小化 ECS 操作权限(如
ecs:StartInstances,ecs:StopInstances) - 绑定 MFA
- 通过 CLI 或控制台登录,不使用主账号
❌ 常见错误做法(务必避免)
- 给每个新员工都分配 root/Administrator 权限。
- 将主账号的 AK/SK 硬编码在代码仓库中。
- 开放 SSH 端口 22 到全网(0.0.0.0/0),且不限制 IP。
- 使用弱密码或同一密码跨多个环境。
🔒 安全加固建议(通用)
- 关闭密码登录,强制使用密钥(Linux)
- 修改默认 SSH 端口(可选,防扫描)
- 配置防火墙规则(安全组/网络 ACL),仅允许必要端口(如 80, 443, 自定义业务端口)
- 定期审计日志:检查
/var/log/secure(Linux)或事件查看器(Windows) - 启用云主机安全组件(如阿里云安骑士、腾讯云云镜)
如果你能提供更具体的使用场景(例如:是前端开发、后端部署、还是数据库维护),我可以给出更精确的权限策略模板。
CLOUD云枢