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

在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-aGsudomyuser

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


验证与生效

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

1. 检查组权限信息

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

idmyuser

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

2. 生效注意事项

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

3. 实际测试

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

su- myusersudols-la/root

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