在Linux系统中,新建用户是系统管理和日常操作中的基础技能,无论是为了提升安全性还是实现多用户协作,都具有重要意义,Linux作为多用户、多任务的操作系统,通过合理的用户管理,可以确保系统资源的有序分配和操作权限的精细控制,本文将详细介绍在Linux系统中新建用户的完整流程、核心命令及相关注意事项,帮助用户掌握这一实用技能。

理解Linux用户与用户组
在开始操作前,需先明确Linux用户与用户组的概念,用户是系统操作的基本单元,每个用户拥有独立的UID(用户标识符)和特定的权限;用户组则是用户的集合,通过组管理可以简化权限分配,Linux用户分为三类:超级用户(root,UID为0)、系统用户(UID小于1000,由系统创建)和普通用户(UID大于等于1000,由管理员创建),日常操作中,建议避免直接使用root用户,而是通过新建普通用户并赋予必要权限来保障系统安全。
使用useradd命令新建用户
useradd是Linux中最基础的创建用户命令,适用于大多数发行版(如CentOS、RHEL等),其基本语法为:useradd [选项] 用户名,常用选项包括:
-m:自动创建用户主目录(默认路径为/home/用户名),若不添加此选项,系统可能不会创建主目录,导致用户无法正常登录。-s:指定用户默认的Shell程序,如/bin/bash(交互式Shell)或/sbin/nologin(禁止登录)。-G:将用户加入附加用户组,多个组用逗号分隔,例如-G sudo,docker表示将用户加入sudo和docker组。
示例:创建一个名为testuser的用户,自动创建主目录,并设置默认Shell为/bin/bash,可执行以下命令:
sudo useradd -m -s /bin/bash testuser
执行后,系统会在/home/下创建testuser主目录,并复制/etc/skel/目录下的隐藏文件(如.bashrc、.profile)到用户主目录,这些文件是用户登录时的初始化配置。
设置与修改用户密码
新建用户后,由于系统未设置密码,用户无法通过密码登录(即使使用SSH密钥登录,部分场景仍需密码验证),需使用passwd命令为用户设置密码,基本语法为:passwd [用户名]。
示例:为testuser用户设置密码:

sudo passwd testuser
执行后,系统会提示输入两次密码(输入时不会显示字符),密码设置成功后,用户即可通过密码登录系统。
若需修改用户密码,只需再次执行passwd命令(普通用户只能修改自己的密码,root用户可修改任意用户密码)。
使用usermod命令调整用户属性
若需修改已创建用户的属性(如用户名、主目录、所属用户组等),可使用usermod命令,常用选项包括:
-l:修改用户名,例如sudo usermod -l newuser testuser将testuser改名为newuser。-d:修改用户主目录,需配合-m选项同时移动原目录内容,例如sudo usermod -d /home/newdir -m testuser。-aG:将用户加入新的附加用户组(注意-a选项不可省略,否则会覆盖原有附加组),例如sudo usermod -aG sudo testuser赋予用户sudo权限。
示例:为testuser添加sudo用户组权限,使其具备管理员操作能力:
sudo usermod -aG sudo testuser
使用adduser命令(交互式创建)
在Debian、Ubuntu等发行版中,还提供了adduser命令,它是useradd的封装工具,支持交互式操作,更适合新手使用,执行sudo adduser 用户名后,系统会依次提示设置密码、全名、房间号等信息,无需手动指定选项,操作更直观。
示例:创建ubuntuuser用户:

sudo adduser ubuntuuser
根据提示逐步输入信息即可,系统会自动完成主目录创建、密码设置等操作。
验证用户创建与权限
创建用户后,可通过以下命令验证用户信息:
id 用户名:显示用户的UID、GID及所属用户组,例如id testuser会输出类似uid=1001(testuser) gid=1001(testuser) groups=1001(testuser),27(sudo)的结果。cat /etc/passwd | grep 用户名:查看用户在/etc/passwd文件中的配置信息,包括用户名、UID、主目录、Shell等。su - 用户名:切换到目标用户,测试登录是否正常,例如su - testuser会切换到testuser并加载其环境变量。
注意事项
- 权限管理:避免随意将用户加入
root组,建议通过sudo机制分配权限,遵循最小权限原则。 - 密码安全:设置强密码(包含大小写字母、数字、特殊字符),并定期更换密码。
- 系统差异:不同Linux发行版的命令选项可能略有不同(如Ubuntu默认使用
adduser,CentOS更常用useradd),建议通过man useradd查看命令手册。 - 删除用户:如需删除用户,可使用
sudo userdel -r 用户名(-r选项会同时删除用户主目录及文件)。
通过以上步骤,即可完成Linux系统中新建用户的完整操作,合理的用户管理不仅能提升系统安全性,还能为多用户协作提供便利,是Linux运维的基础技能之一,掌握这些命令后,用户可根据实际需求灵活配置,更好地利用Linux系统的多用户特性。


















