Linux服务器临时用户创建与删除教程
作者:一勺菠萝丶
引言
在服务器运维、远程协助、临时调试项目时,有时候不适合直接把 root 账号密码给别人。更安全的做法是:临时创建一个普通用户,给它必要权限,用完后再删除。
本文以创建一个名为 codex 的临时用户为例,讲解从创建、授权、登录到删除的完整流程。
一、适用场景
适合以下情况:
- 临时让别人登录服务器帮忙排查问题;
- 不想直接暴露 root 账号;
- 需要给对方一定的 sudo 权限;
- 调试完成后可以快速删除账号;
- 方便控制权限和降低安全风险。
二、创建临时用户
在服务器终端执行:
useradd -m -s /bin/bash codex
命令解释
useradd
表示创建一个新用户。
-m
表示自动创建用户家目录。
例如创建用户 codex 后,会生成:
/home/codex
-s /bin/bash
表示给这个用户指定默认 Shell 为 /bin/bash。
codex
是用户名,可以根据实际情况修改。
三、给临时用户设置密码
继续执行:
passwd codex
系统会提示输入密码:
New password: Retype new password:
输入两遍密码即可。
注意:Linux 终端输入密码时一般不会显示星号,这是正常现象。
四、给临时用户 sudo 权限
如果对方只是查看文件、普通操作,可以不给 sudo 权限。
如果需要安装依赖、重启服务、修改 Nginx/PHP 配置,就需要给 sudo 权限。
不同系统的管理员组可能不同。
CentOS / OpenCloudOS / Rocky Linux / AlmaLinux
执行:
usermod -aG wheel codex
Ubuntu / Debian
执行:
usermod -aG sudo codex
兼容写法
如果你不确定服务器是 CentOS 还是 Ubuntu,可以使用:
usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex
意思是:
- 先尝试把用户加入
wheel组; - 如果失败,再尝试加入
sudo组。
五、完整创建命令
可以直接执行下面这一组命令:
useradd -m -s /bin/bash codex passwd codex usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex
执行完成后,把以下信息发给对方即可:
服务器 IP:你的服务器 IP 用户名:codex 密码:你刚刚设置的密码 SSH 端口:默认一般是 22
对方可以这样登录:
ssh codex@服务器IP
如果 SSH 端口不是 22,例如是 2222,则使用:
ssh -p 2222 codex@服务器IP
六、测试 sudo 权限是否正常
登录 codex 用户后,可以执行:
sudo whoami
如果输出:
root
说明 sudo 权限正常。
如果提示:
codex is not in the sudoers file
说明这个用户没有 sudo 权限,需要重新检查是否加入了 wheel 或 sudo 组。
七、删除临时用户
调试完成后,建议删除临时用户。
执行:
userdel -r codex
命令解释
userdel
表示删除用户。
-r
表示同时删除该用户的家目录和邮件目录。
也就是会删除:
/home/codex
八、删除前建议检查是否还有登录会话
删除用户前,可以先查看该用户是否还在线:
who
或者:
w
如果看到 codex 还在线,建议先通知对方退出,或者手动结束该用户进程。
查看用户进程:
ps -u codex
结束该用户所有进程:
pkill -u codex
然后再删除用户:
userdel -r codex
九、确认用户是否删除成功
执行:
id codex
如果提示:
id: codex: no such user
说明用户已经删除成功。
也可以检查家目录是否还存在:
ls /home
如果看不到 codex 目录,说明家目录也已经删除。
十、常见问题
1. useradd: command not found
可能当前不是 root 用户,或者系统环境异常。
可以先切换 root:
su -
或者使用 sudo:
sudo useradd -m -s /bin/bash codex
2. passwd: Authentication token manipulation error
可能是权限不够,建议使用 root 执行:
sudo passwd codex
或者检查系统是否只读、磁盘是否满了:
df -h
3. sudo: command not found
有些精简系统没有安装 sudo。
CentOS / OpenCloudOS:
yum install -y sudo
Ubuntu / Debian:
apt update apt install -y sudo
4. 用户登录后没有权限修改文件
可能是目标目录权限属于其他用户,例如网站目录属于 www 或 root。
可以查看目录权限:
ls -ld /www/wwwroot/your-site
如果只是临时协助,不建议随便把整个网站目录权限改给临时用户。
更推荐让对方使用 sudo 执行必要命令,例如:
sudo vim /etc/nginx/nginx.conf sudo systemctl reload nginx
十一、安全建议
创建临时用户虽然比直接给 root 更安全,但也要注意:
- 密码不要太简单;
- 用完及时删除用户;
- 不要长期保留临时用户;
- 不要把 root 密码发给别人;
- 能用 SSH Key 就尽量不要用密码;
- 对方调试完成后,及时检查是否有异常文件或进程;
- 如果给了 sudo 权限,基本等同于给了较高服务器权限,要谨慎。
十二、推荐操作流程
完整流程如下:
# 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
十三、总结
临时用户的核心思路是:
创建用户 -> 设置密码 -> 分配必要权限 -> 对方登录调试 -> 调试完成后删除用户
相比直接提供 root 账号,临时用户更安全、更容易管理,也更适合服务器临时协助场景。
如果只是普通查看文件,不建议给 sudo 权限。
如果需要重启 Nginx、PHP、修改配置、部署代码等操作,可以临时加入 sudo 权限,用完后立即删除。
到此这篇关于Linux服务器临时用户创建与删除教程的文章就介绍到这了,更多相关Linux临时用户创建与删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
