在Debian/Ubuntu中创建新用户并赋予Root权限

在Linux服务器日常维护中,直接使用最高权限的 root 账户进行操作是不推荐的,因为一个小失误(比如输错命令)就可能导致系统崩溃。

最安全、最标准的做法是:创建一个普通用户,并在需要执行特权操作时,通过 sudo 命令临时获取管理员权限

本文将教你在 Debian 和 Ubuntu 系统中快速完成这一配置。过程非常简单,只需两步!


第一步:创建一个新用户

首先,你需要以 root 身份登录服务器(或者拥有sudo权限的用户登录后,在命令前加sudo)。

在 Debian/Ubuntu 中,强烈推荐使用交互式的 adduser 命令。它比传统的 useradd 更智能,会自动帮你建好主目录、设置默认 shell 等,对新手非常友好。

💡 进阶科普:为什么不用 useradd?
useradd 是最基础的底层命令。如果直接输入 useradd myuser,系统默认不会为用户创建家目录,且默认的命令行环境是非常简陋的 /bin/sh。要想好用,必须手动加上复杂的参数(如 useradd -m -s /bin/bash myuser)。而 adduser 则把这一切都自动化了,更适合 Debian 系系统。

假设我们要创建一个名为 myuser 的新用户,执行以下命令:

adduser myuser

执行后,系统会进行如下交互:

  1. 设置密码:系统会要求你输入两遍新密码(注意:Linux终端输入密码时屏幕不会显示任何字符,正常盲打然后回车即可)。
  2. 填写用户信息:系统会询问用户的全名、房间号、电话等信息。这些都不重要,直接一路按回车(Enter)跳过即可
  3. 确认信息:最后系统会问你信息是否正确 Is the information correct? [Y/n],输入 Y 并回车。

此时,普通用户就创建好了。

第二步:赋予该用户Root权限 (sudo)

在 Debian 和 Ubuntu 系统中,管理权限的设计非常简单:只要把用户加入到 sudo 这个用户组中,该用户就拥有了执行 sudo 命令的权限

使用 usermod 命令将刚才创建的 myuser 加入到 sudo 组中:

usermod -aG sudo myuser

[!WARNING]
危险警告:千万不要漏掉 -a 参数!
-aG 的意思是“追加(Append)到某个用户组(Group)”。
如果你不小心漏掉了 -a(写成了 usermod -G sudo myuser),系统会将该用户从他原有的所有其他附加组中强制踢出!这可能会导致严重的权限丢失问题。


验证与生效

配置完成后,我们来测试一下新用户的权限。

1. 检查组权限信息

我们可以使用 id 命令来优雅地查看用户当前所属的用户组:

id myuser

如果输出结果的末尾包含 (sudo)(例如 groups=1000(myuser),27(sudo)),则说明该用户已经在管理员组内了。

2. 生效注意事项

[!IMPORTANT]
权限并非立即对在线用户生效!
如果你给一个当前正在登录的用户分配了 sudo 组,该用户必须退出 SSH 会话并重新登录(或者使用 su - 用户名 重新加载环境),新的组权限才会生效。否则,即使他已经在 sudo 组里,执行 sudo 仍会提示无权限。

3. 实际测试

切换到新用户身份,尝试执行特权命令:

su - myuser
sudo ls -la /root

系统会提示你输入 myuser 的密码。验证通过后,如果能成功看到 /root 目录下的文件,恭喜你,大功告成!

未经允许不得转载:编源视界 » 在Debian/Ubuntu中创建新用户并赋予Root权限