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

本文以创建一个名为 codex 的临时用户为例,讲解从创建、授权、登录到删除的完整流程。
适合以下情况:
在服务器终端执行:
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 权限。
如果需要安装依赖、重启服务、修改 Nginx/PHP 配置,就需要给 sudo 权限。
不同系统的管理员组可能不同。
执行:
usermod -aG wheel codex
执行:
usermod -aG sudo codex
如果你不确定服务器是 CentOS 还是 Ubuntu,可以使用:
usermod -aG wheel codex 2>/dev/null || usermod -aG sudo codex
意思是:
wheel 组;sudo 组。可以直接执行下面这一组命令:
useradd -m -s /bin/bash codexpasswd codexusermod -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
登录 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 目录,说明家目录也已经删除。
可能当前不是 root 用户,或者系统环境异常。
可以先切换 root:
su -
或者使用 sudo:
sudo useradd -m -s /bin/bash codex
可能是权限不够,建议使用 root 执行:
sudo passwd codex
或者检查系统是否只读、磁盘是否满了:
df -h
有些精简系统没有安装 sudo。
CentOS / OpenCloudOS:
yum install -y sudo
Ubuntu / Debian:
apt updateapt install -y sudo
可能是目标目录权限属于其他用户,例如网站目录属于 www 或 root。
可以查看目录权限:
ls -ld /www/wwwroot/your-site
如果只是临时协助,不建议随便把整个网站目录权限改给临时用户。
更推荐让对方使用 sudo 执行必要命令,例如:
sudo vim /etc/nginx/nginx.confsudo systemctl reload nginx
创建临时用户虽然比直接给 root 更安全,但也要注意:
完整流程如下:
# 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 权限,用完后立即删除。
TPLink TLWDR4320 无线路由器IP带宽控制功能分配带宽设置方法
SQL Server 2008及更高版本数据库恢复做法之日志尾部备份实用指南
TPLink TLWDR4320 无线路由器控制管控小孩上网行为设置
TPLink TLWDR4320 无线路由器打印服务器设置指南
TPLink TLWDR8620 52 无线路由器当作交换机使用教程
TPLink TLWDR8620 52 无线路由器映射服务器到外网操作方法