Ubuntu服务器多用户配置核心是分得清、管得住、用得顺:1. 创建用户必须用adduser(自动配家目录、shell、同名组),禁用useradd以防遗漏参数;2. 权限分级按角色设组,慎加sudo;3. 环境隔离推荐每人私有Conda或共享Conda+组权限管控;4. SSH强制密钥认证、禁root登录、白名单放行。

Ubuntu 服务器多用户环境配置,核心是“分得清、管得住、用得顺”——每个用户有独立空间,权限不越界,协作有章法。不用堆砌命令,关键步骤讲清楚逻辑和避坑点就行。
创建用户:用 adduser,别碰 useradd
这是最常踩的坑。adduser 是交互式封装命令,自动创建家目录、设默认 shell、建同名组;useradd 是底层工具,漏一个参数就出问题(比如没加 -m 就没 /home/username,没加 -s /bin/bash 就登录后卡在黑屏)。
- 批量创建可写个简单脚本,读取用户名列表,每行执行:sudo adduser --disabled-password --gecos "" username
- --disabled-password 是为了后续只走 SSH 密钥登录,禁掉密码入口
- 创建后立刻配密钥:把用户公钥追加到 /home/username/.ssh/authorized_keys,并确保目录权限为 700、文件为 600
权限分级:按角色给组,不随便加 sudo
别一上来就把所有人加进 sudo 组。应该按实际职责划分:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 运维/负责人 → 加入 sudo 组
- 开发/部署人员 → 加入自定义组(如 deploy),再针对特定目录赋权
- 只查日志/只跑模型的成员 → 只加 adm 或自定义只读组,连 sudo 都不给
- 用 sudo usermod -aG groupname username 添加,-aG 表示“追加到组”,避免覆盖已有组
环境隔离:Python/Conda 不混用
多人共用一台机器,最怕环境互相污染。两种主流做法:
- 每人私有 Conda:各自在 ~/miniconda3 安装,互不影响。适合项目差异大、依赖冲突多的场景
-
共享 Conda + 用户组管控:装在 /opt/anaconda3,创建 anaconda 组,所有需共享的用户加入该组;再执行:
sudo chown -R root:anaconda /opt/anaconda3
sudo chmod -R 770 /opt/anaconda3
sudo find /opt/anaconda3 -type d -exec chmod g+s {} +(保证新建文件自动继承组权限)
SSH 安全加固:关 root 登录,锁访问范围
/etc/ssh/sshd_config 里这几行必须检查:
- PermitRootLogin no —— 禁止 root 直接 SSH 登录
- PasswordAuthentication no —— 强制密钥认证(配好密钥后再改,否则会锁死)
- AllowUsers user1 user2 或 AllowGroups dev-team —— 明确放行哪些用户或组,比 deny 更安全
- 改完记得 sudo systemctl restart sshd,别忘了测试新用户能否连上

















