经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程

前言

很多刚接触云服务器的朋友,会遇到这样的问题:朋友、同学想一起玩 Linux、做开发测试,如果每个人单独买一台云服务器,每台几十上百,开销直接翻倍。

其实一台低配云服务器,完全可以支持多个人同时 SSH 登录使用。通过创建 Linux 子账户,实现账号隔离,大家互不干扰,共用一台机器,省下多台服务器的开销,经济又实惠。

核心思路:不共享 root 超级管理员账号,给每个人分配独立普通账号,各自有独立文件目录,权限可控,充分榨干单台服务器的价值。

系统环境:OpenCloudOS / CentOS 系列,Xshell 作为连接工具。

⚠️重要提醒:多人共用服务器,严禁把 root 账号分给所有人使用,root 拥有系统全部权限,误操作很容易直接把服务器搞崩。

一、原理简单讲清楚

  1. root:服务器最高权限账号,只留给少数管理员;

  2. 普通子账号:每个使用者一个独立账号,拥有自己专属家目录 `/home/用户名`;

  3. 权限区分:普通用户只能操作自己的文件夹,不能随意改动系统;需要管理员能力的账号,可以赋予 sudo 权限;

  4. 所有人共用服务器 CPU、内存、带宽,不用重复购买实例,实现降本。

二、使用 root 登录服务器

打开 Xshell,连接你的服务器:

复制代码
ssh root@你的服务器公网IP

成功登录,看到 `root@xxx \~#` 代表已经是 root 管理员身份。

三、创建普通用户账号

创建账号命令模板

复制代码
useradd -m -s /bin/bash 用户名

passwd 用户名
  • -m:自动生成该用户专属家目录 `/home/用户名`

  • -s /bin/bash:分配可交互 shell,没有这个参数将无法 Xshell 远程登录

实操示例

创建两个账号,user_a、user_b

复制代码
# 创建user_a
useradd -m -s /bin/bash user_a
passwd user_a

# 创建user_b
useradd -m -s /bin/bash user_b
passwd user_b

执行`passwd`之后输入密码,输入时屏幕不会显示字符,属于 Linux 正常现象,连续输入两遍即可。

💡密码建议设置复杂度高一点,规避服务器被暴力扫描爆破。

两种权限划分

1. 普通账号(给到大部分使用者)

上面创建完默认就是普通账号,仅能读写自己家目录,不能修改系统核心文件,不能执行高级操作。

2. 带 sudo 管理员权限(仅给1‑2个负责人)

如果某个账号需要拥有管理员能力,可以加入 wheel 用户组,使用`sudo`来执行 root 权限命令。

复制代码
usermod -aG wheel user_a

执行完成,user_a 就可以通过`sudo + 命令`执行管理员操作。

验证账号信息:

复制代码
id user_a

四、其他小伙伴如何使用 Xshell 登录自己的账号

其他使用者不需要 root 账号,直接使用分配好的子账号登录服务器。

方式1:Xshell 新建会话

  • 协议:SSH

  • 主机:服务器公网 IP

  • 用户身份验证:填写分配的用户名 + 设置好的密码,直接连接。

方式2:Xshell 命令行输入

复制代码
ssh user_a@你的服务器IP

登录成功提示符:

`user_a@VM‑0‑7‑opencloudos \~$`

末尾符号`$`代表普通用户;root 账号提示符末尾为`#`。

测试 sudo 权限(已加入 wheel 组账号)

复制代码
sudo ls /root

输入自己账号的密码,能够列出内容,代表管理员权限生效。

五(可选)搭建多人共享文件夹

如果小伙伴之间需要互相传递文件,可以创建公共共享目录,每个人私有目录互相隔离,共享目录大家都可以读写。

复制代码
# 创建共享目录
mkdir /home/share
# 创建共享用户组
groupadd share_group
# 将需要使用共享目录的用户加入组
usermod -aG share_group user_a
usermod -aG share_group user_b
# 设置目录权限
chown root:share_group /home/share
chmod 770 /home/share
  • 每个人自己的文件放在 `/home/user_a`,别人无法访问;

  • 需要互相分享的文件放到 `/home/share`。

六、账号日常管理命令(root 执行)

复制代码
# 查看服务器全部用户
cat /etc/passwd

# 删除用户,同时删除家目录文件
userdel -r user_b

# 临时禁用账号,禁止登录(保留账号数据)
passwd -l user_b

# 恢复被锁定账号
passwd -u user_b

# 修改账号密码
passwd user_a

七、多人共用服务器安全优化(强烈推荐)

多人使用场景,建议关闭 root 远程登录,所有人只用子账号登录,管理员依靠`sudo`获取权限。

⚠️操作前确认至少有一个账号拥有 sudo 权限,否则会远程无法登录服务器;云服务商网页 VNC 控制台可以作为兜底救援手段。

编辑 ssh 配置文件

复制代码
vi /etc/ssh/sshd_config

找到配置项

复制代码
复制代码
PermitRootLogin yes

修改为

复制代码
复制代码
PermitRootLogin no

保存退出,重启 ssh 服务生效

复制代码
复制代码
systemctl restart sshd

八、常见踩坑排错

  1. Xshell 登录报错 Access denied👉 创建用户命令缺少参数 `-s /bin/bash`,没有分配可登录 shell。

  2. 使用 sudo 提示不在 sudoers 文件👉 用户没有加入 wheel 组,执行:`usermod -aG wheel 用户名`

  3. 用户登录没有家目录👉 创建账号必须带上 `-m` 参数,否则不会自动生成家目录。

写在最后|经济使用小提示

  1. 一台轻量云服务器,合理分配子账号,满足多人学习 Linux、练命令、测试项目,不用每人购置一台服务器,大大降低成本;

  2. 权限做好隔离,普通同学分配普通账号,sudo 权限只给到少数负责人;

  3. 禁止多人共用 root 账号,避免误操作损毁系统;

  4. 服务器不要跑违规业务,否则会被云厂商封禁实例。

当小伙伴不需要使用的时候,可以直接锁定或者删除账号,灵活管理。

相关推荐
Dxy12393102162 小时前
Python 如何使用 MySQL 的事务
python·mysql
ZJH__GO4 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
小小、码农4 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
程序员黑豆4 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光5 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
不会就选b5 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
marvelyu6 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
NeilYuen6 小时前
用UDP实现向DNS服务器请求IP地址
服务器·tcp/ip·udp
hansang_IR6 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集