Linux 服务器临时用户创建与删除教程

在服务器运维、远程协助、临时调试项目时,有时候不适合直接把 root 账号密码给别人。更安全的做法是:临时创建一个普通用户,给它必要权限,用完后再删除

本文以创建一个名为 codex 的临时用户为例,讲解从创建、授权、登录到删除的完整流程。


一、适用场景

适合以下情况:

  • 临时让别人登录服务器帮忙排查问题;
  • 不想直接暴露 root 账号;
  • 需要给对方一定的 sudo 权限;
  • 调试完成后可以快速删除账号;
  • 方便控制权限和降低安全风险。

二、创建临时用户

在服务器终端执行:

bash 复制代码
useradd -m -s /bin/bash codex

命令解释

bash 复制代码
useradd

表示创建一个新用户。

bash 复制代码
-m

表示自动创建用户家目录。

例如创建用户 codex 后,会生成:

bash 复制代码
/home/codex
bash 复制代码
-s /bin/bash

表示给这个用户指定默认 Shell 为 /bin/bash

bash 复制代码
codex

是用户名,可以根据实际情况修改。


三、给临时用户设置密码

继续执行:

bash 复制代码
passwd codex

系统会提示输入密码:

text 复制代码
New password:
Retype new password:

输入两遍密码即可。

注意:Linux 终端输入密码时一般不会显示星号,这是正常现象。


四、给临时用户 sudo 权限

如果对方只是查看文件、普通操作,可以不给 sudo 权限。

如果需要安装依赖、重启服务、修改 Nginx/PHP 配置,就需要给 sudo 权限。

不同系统的管理员组可能不同。

CentOS / OpenCloudOS / Rocky Linux / AlmaLinux

执行:

bash 复制代码
usermod -aG wheel codex

Ubuntu / Debian

执行:

bash 复制代码
usermod -aG sudo codex

兼容写法

如果你不确定服务器是 CentOS 还是 Ubuntu,可以使用:

bash 复制代码
usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex

意思是:

  • 先尝试把用户加入 wheel 组;
  • 如果失败,再尝试加入 sudo 组。

五、完整创建命令

可以直接执行下面这一组命令:

bash 复制代码
useradd -m -s /bin/bash codex
passwd codex
usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex

执行完成后,把以下信息发给对方即可:

text 复制代码
服务器 IP:你的服务器 IP
用户名:codex
密码:你刚刚设置的密码
SSH 端口:默认一般是 22

对方可以这样登录:

bash 复制代码
ssh codex@服务器IP

如果 SSH 端口不是 22,例如是 2222,则使用:

bash 复制代码
ssh -p 2222 codex@服务器IP

六、测试 sudo 权限是否正常

登录 codex 用户后,可以执行:

bash 复制代码
sudo whoami

如果输出:

text 复制代码
root

说明 sudo 权限正常。

如果提示:

text 复制代码
codex is not in the sudoers file

说明这个用户没有 sudo 权限,需要重新检查是否加入了 wheelsudo 组。


七、删除临时用户

调试完成后,建议删除临时用户。

执行:

bash 复制代码
userdel -r codex

命令解释

bash 复制代码
userdel

表示删除用户。

bash 复制代码
-r

表示同时删除该用户的家目录和邮件目录。

也就是会删除:

bash 复制代码
/home/codex

八、删除前建议检查是否还有登录会话

删除用户前,可以先查看该用户是否还在线:

bash 复制代码
who

或者:

bash 复制代码
w

如果看到 codex 还在线,建议先通知对方退出,或者手动结束该用户进程。

查看用户进程:

bash 复制代码
ps -u codex

结束该用户所有进程:

bash 复制代码
pkill -u codex

然后再删除用户:

bash 复制代码
userdel -r codex

九、确认用户是否删除成功

执行:

bash 复制代码
id codex

如果提示:

text 复制代码
id: codex: no such user

说明用户已经删除成功。

也可以检查家目录是否还存在:

bash 复制代码
ls /home

如果看不到 codex 目录,说明家目录也已经删除。


十、常见问题

1. useradd: command not found

可能当前不是 root 用户,或者系统环境异常。

可以先切换 root:

bash 复制代码
su -

或者使用 sudo:

bash 复制代码
sudo useradd -m -s /bin/bash codex

2. passwd: Authentication token manipulation error

可能是权限不够,建议使用 root 执行:

bash 复制代码
sudo passwd codex

或者检查系统是否只读、磁盘是否满了:

bash 复制代码
df -h

3. sudo: command not found

有些精简系统没有安装 sudo。

CentOS / OpenCloudOS:

bash 复制代码
yum install -y sudo

Ubuntu / Debian:

bash 复制代码
apt update
apt install -y sudo

4. 用户登录后没有权限修改文件

可能是目标目录权限属于其他用户,例如网站目录属于 wwwroot

可以查看目录权限:

bash 复制代码
ls -ld /www/wwwroot/your-site

如果只是临时协助,不建议随便把整个网站目录权限改给临时用户。

更推荐让对方使用 sudo 执行必要命令,例如:

bash 复制代码
sudo vim /etc/nginx/nginx.conf
sudo systemctl reload nginx

十一、安全建议

创建临时用户虽然比直接给 root 更安全,但也要注意:

  1. 密码不要太简单;
  2. 用完及时删除用户;
  3. 不要长期保留临时用户;
  4. 不要把 root 密码发给别人;
  5. 能用 SSH Key 就尽量不要用密码;
  6. 对方调试完成后,及时检查是否有异常文件或进程;
  7. 如果给了 sudo 权限,基本等同于给了较高服务器权限,要谨慎。

十二、推荐操作流程

完整流程如下:

bash 复制代码
# 1. 创建临时用户
useradd -m -s /bin/bash codex

# 2. 设置密码
passwd codex

# 3. 添加 sudo 权限
usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex

# 4. 调试完成后,查看是否还在线
who

# 5. 如有必要,结束该用户进程
pkill -u codex

# 6. 删除用户及家目录
userdel -r codex

# 7. 确认是否删除成功
id codex

十三、总结

临时用户的核心思路是:

text 复制代码
创建用户 -> 设置密码 -> 分配必要权限 -> 对方登录调试 -> 调试完成后删除用户

相比直接提供 root 账号,临时用户更安全、更容易管理,也更适合服务器临时协助场景。

如果只是普通查看文件,不建议给 sudo 权限。

如果需要重启 Nginx、PHP、修改配置、部署代码等操作,可以临时加入 sudo 权限,用完后立即删除。

相关推荐
lunzi_08261 小时前
《图解HTTP》--第5章-与HTTP协作的Web服务器
服务器·前端·http
曲幽1 小时前
你的FastAPI又在服务器上“跑不起来”了?来,今天咱把打包这件事彻底聊透
linux·windows·python·docker·fastapi·web·pyinstaller·nssm·services
2023自学中1 小时前
imx6ull 开发板,RTMP 推流本地视频 到虚拟机
linux·音视频·嵌入式·开发板
YOLO数据集集合1 小时前
YOLOv11+DeepSeek多技术融合电网缺陷巡检平台|绝缘子破损瓷瓶故障AI识别、前后端一体化电力运维管理系统落地开发
运维·人工智能·yolo
_可乐无糖1 小时前
踩完坑之后的总结:Windows安装docker
运维·windows·docker·容器
2401_868534782 小时前
防火墙的具体概念
服务器·网络·php
驭渊的小故事2 小时前
网络初始1(2000字详细剖析网络的TCP/IP协议栈)
linux·服务器·网络
赛博云推-Twitter热门霸屏工具2 小时前
Twitter自动发推工具怎么选?从人工运营到自动化管理的实践分析
运维·自动化·twitter
dshudsnb2 小时前
4种实用方法,快速完成新旧电脑数据迁移
运维·服务器·电脑