云服务器添加的新用户需要配置哪些权限才能正常使用?

在云服务器(无论是阿里云 ECS、腾讯云 CVM 还是华为云等)的语境下,“添加新用户”通常涉及两个层面的概念,必须区分清楚,因为它们的权限配置逻辑完全不同:

  1. 操作系统内部的用户(如 Linux 的 useradd 或 Windows 的本地用户)
  2. 云平台控制台的 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 或控制台登录,不使用主账号

❌ 常见错误做法(务必避免)

  1. 给每个新员工都分配 root/Administrator 权限。
  2. 将主账号的 AK/SK 硬编码在代码仓库中。
  3. 开放 SSH 端口 22 到全网(0.0.0.0/0),且不限制 IP。
  4. 使用弱密码或同一密码跨多个环境。

🔒 安全加固建议(通用)

  1. 关闭密码登录,强制使用密钥(Linux)
  2. 修改默认 SSH 端口(可选,防扫描)
  3. 配置防火墙规则(安全组/网络 ACL),仅允许必要端口(如 80, 443, 自定义业务端口)
  4. 定期审计日志:检查 /var/log/secure(Linux)或事件查看器(Windows)
  5. 启用云主机安全组件(如阿里云安骑士、腾讯云云镜)

如果你能提供更具体的使用场景(例如:是前端开发、后端部署、还是数据库维护),我可以给出更精确的权限策略模板。

未经允许不得转载:CLOUD云枢 » 云服务器添加的新用户需要配置哪些权限才能正常使用?