云电脑多用户权限划分,多人共用一台算力机
多人共用一台云电脑算力机时,最常见的问题不是性能不够,而是权限没分好:A 用户误删了 B 用户的数据,或者普通用户直接改动了系统配置导致环境崩溃。
云电脑多用户权限划分的核心思路很简单:每个人用独立账号登录,通过用户组控制谁能访问哪些目录,再用 sudo 规则限制谁能执行管理员命令。
下面按零基础也能照做的顺序,讲清楚具体操作。
先确认算力机的登录方式和系统环境
拿到云电脑后,先用管理员账号 SSH 登录,确认系统版本和当前用户情况。
cat /etc/os-release
whoami
id
输出中 whoami 显示当前登录名,id 会列出你的 uid、gid 和所属附加组。
如果是 Ubuntu/Debian 或 CentOS/Rocky 系列,下面的命令基本通用。建议先给管理员账号配置好 SSH 密钥登录,再创建普通用户,避免多人共用 root 密码。
为每个使用者创建独立账号并分组
不要多人共用一个账号,否则权限无法区分。
假设有 alice、bob、carol 三个人,分别执行:
sudo useradd -m -s /bin/bash alice
sudo useradd -m -s /bin/bash bob
sudo useradd -m -s /bin/bash carol
sudo passwd alice
sudo passwd bob
sudo passwd carol
-m 表示自动创建家目录 /home/用户名,-s 指定默认 shell。
接着创建一个共享组,比如 compute,把需要协作的人加进去:
sudo groupadd compute
sudo usermod -aG compute alice
sudo usermod -aG compute bob
sudo usermod -aG compute carol
把用户加入 compute 组后,后续可以通过组权限统一管理共享目录,而不必给每个人单独设权限。
设置共享目录和私有目录的权限
算力机上通常有两类目录:每个人自己的家目录,和需要一起读写的数据集或项目目录。
家目录默认只有本人可读写,一般不用额外调整。
如果发现其他用户能进入,检查权限:
ls -ld /home/alice
# 正常应显示 drwx------ 或 drwxr-x---
chmod 700 /home/alice
共享目录建议放在 /srv/shared 或 /data/shared,并设置组内可读写:
sudo mkdir -p /srv/shared
sudo chown root:compute /srv/shared
sudo chmod 2775 /srv/shared
2775 中的 2 是 SGID 位,
作用是让该目录下新建的文件自动继承 compute 组,
避免组权限丢失。如果共享目录需要多人同时写入,
这一步是关键,
否则新文件可能只属于创建者个人组,
其他人写不进去。
用 sudo 规则限制管理员权限
普通用户默认不能执行系统级操作。
如果某些人需要重启服务或安装软件,不要直接给 root 密码,而是通过 /etc/sudoers.d/ 单独授权:
sudo visudo -f /etc/sudoers.d/compute
写入类似内容:
%compute ALL=(ALL) NOPASSWD: /bin/systemctl restart myservice
这表示 compute 组成员只能免密重启 myservice,
不能执行其他 sudo 命令。修改 sudo 配置务必用 visudo,
它会检查语法,
避免写错导致所有 sudo 失效。
常见坑和验证方式
配置完成后,切换到每个用户实际测试,不要只看配置文件。
- 用
su - alice切换到 alice,尝试ls /home/bob,应该提示权限不足。 - 在
/srv/shared下创建文件,再用 bob 账号删除或修改,应该成功。 - 用 alice 执行
sudo systemctl restart myservice应成功,执行sudo rm -rf /应被拒绝。
如果共享目录写入失败,先检查 id alice 是否包含 compute 组,再检查目录的组和 SGID 位是否生效。
如果 sudo 报 “not in sudoers”,说明用户组还没重新登录生效,退出 SSH 重新连接即可。
多人共用算力机时,权限划分不是一次配完就结束,新增用户或调整目录后要重复验证。
按账号独立、组控访问、sudo 最小化的原则做,基本能避免绝大多数互相干扰问题。