在Linux系统中,用户管理是系统管理员的核心任务之一,而增加用户名是最基础且频繁的操作,无论是搭建开发环境、配置多用户权限,还是保障系统安全,正确创建用户都是首要步骤,本文将详细介绍在Linux系统中增加用户名的多种方法、相关配置及注意事项,帮助管理员高效完成用户管理任务。

使用useradd命令创建用户
useradd是Linux系统中传统的用户创建命令,功能强大且灵活,适用于各种发行版,其基本语法为useradd [选项] 用户名,通过不同选项可定制用户属性。
基础创建
直接执行useradd testuser即可创建一个名为testuser的用户,默认情况下,系统会:
- 在
/home目录下创建用户主目录/home/testuser; - 创建与用户名相同的组
testuser,并将用户加入该组; - 设置用户ID(UID)和组ID(GID)为系统默认值(通常从1000开始);
- 使用默认的登录Shell(如
/bin/bash)。
常用选项配置
- 指定主目录:通过
-d选项自定义主目录路径,如useradd -d /data/testuser testuser,主目录不会自动创建,需手动执行mkdir -p /data/testuser并设置权限。 - 指定登录Shell:使用
-s选项设置用户登录后使用的Shell,如useradd -s /sbin/nologin testuser可创建禁止登录的系统用户(常用于服务运行账户)。 - 指定用户ID和组ID:通过
-u和-g选项分别设置UID和GID,如useradd -u 2000 -g 2000 testuser,避免与现有用户冲突。 - 加入附加组:使用
-G选项将用户加入多个附加组,如useradd -G sudo,docker testuser,使用户同时拥有sudo和docker权限。 - 创建用户时设置密码:结合
-p选项可设置加密密码,但需注意该选项直接在命令行中暴露密码,存在安全风险,推荐使用passwd命令单独设置。
使用adduser命令创建用户
adduser是部分Linux发行版(如Ubuntu、Debian)提供的友好型命令,相比useradd,它采用交互式方式引导用户输入信息,更适合新手操作。
执行adduser testuser后,系统会依次提示:
- 设置用户密码(需输入两次确认);
- 输入用户全名(可选);
- 输入房间号、电话号码等额外信息(可选);
- 确认信息是否正确。
完成交互后,adduser会自动完成以下操作:
- 创建用户主目录并复制默认配置文件(如
/etc/skel目录下的.bashrc、.profile等); - 设置合适的目录权限(700,仅用户可访问);
- 加密密码并存储到
/etc/shadow文件。
相比useradd,adduser无需记忆复杂选项,适合快速创建交互式用户,但灵活性稍弱。

用户创建后的关键配置
用户创建完成后,需进行必要的配置以确保系统安全和功能正常。
设置或修改用户密码
无论使用哪种命令创建用户,初始账户均无密码或密码为空,需立即设置,执行passwd testuser,根据提示输入两次密码即可,若需修改密码,普通用户只能修改自己的密码,管理员可通过passwd testuser修改任意用户密码。
配置sudo权限
若需让新用户拥有管理员权限,可将其加入sudo组,在Ubuntu/Debian系统中,sudo组已具备sudo权限,只需执行usermod -aG sudo testuser;在CentOS/RHEL系统中,需编辑/etc/sudoers文件,添加testuser ALL=(ALL:ALL) ALL,或使用visudo命令安全编辑文件。
管理用户属性
- 查看用户信息:使用
id testuser可查看用户的UID、GID及所属组;cat /etc/passwd | grep testuser可显示用户账户详情(如登录Shell、主目录等)。 - 修改用户属性:通过
usermod命令可调整用户信息,如usermod -l newname testuser修改用户名,usermod -d /new/home -m testuser迁移主目录并移动原目录数据。 - 锁定/解锁用户:执行
passwd -l testuser可锁定用户(禁止登录),passwd -u testuser解锁。
批量创建用户的方法
当需要创建大量用户时(如企业员工账户),手动逐个创建效率低下,可通过以下方式批量处理。
使用newusers命令
newusers命令通过读取包含用户信息的文本文件批量创建用户,文件格式为用户名:密码:UID:GID:描述:主目录:Shell,创建文件users.txt如下:
user1:password1:2001:2001:User One:/home/user1:/bin/bash
user2:password2:2002:2002:User Two:/home/user2:/bin/bash
执行newusers < users.txt即可批量创建用户,需确保密码已通过openssl passwd -1加密(或使用明文密码,但需设置/etc/login.defs中的ENCRYPT_METHOD)。

结合脚本与循环
使用for循环和useradd命令可动态创建用户,以下脚本创建10个用户(user1-user10),初始密码为“Passwd@123”:
#!/bin/bash
for i in {1..10}; do
username="user$i"
useradd -m "$username"
echo "$username:Passwd@123" | chpasswd
done
执行chmod +x create_users.sh && ./create_users.sh即可运行脚本。
注意事项与最佳实践
- 遵循命名规范:用户名建议使用小写字母、数字及下划线,避免特殊字符,长度不超过32字符,且与系统保留名(如
root、bin)冲突。 - 最小权限原则:仅授予用户必要的权限,避免直接使用
root账户操作,禁止登录的用户(如nginx、mysql)应设置s/nologinShell。 - 定期审查用户:通过
cat /etc/passwd或awk -F: '$3 >= 1000 {print $1}' /etc/passwd查看非系统用户,清理闲置账户。 - 备份关键文件:修改
/etc/passwd、/etc/shadow、/etc/group前,建议先备份,避免误操作导致系统异常。
通过以上方法,管理员可高效、安全地完成Linux系统中用户名的增加与管理操作,无论是单用户创建还是批量处理,结合实际需求选择合适工具,并遵循最佳实践,才能确保系统的稳定与安全。



















