在CentOS系统中创建用户是系统管理的基础操作之一,正确的用户管理不仅能保障系统安全,还能提升多用户环境下的协作效率,本文将详细介绍在CentOS系统中创建用户的多种方法、权限配置及相关注意事项,帮助用户全面掌握这一技能。

使用useradd命令创建用户
useradd是Linux系统中创建用户最基础的命令,适用于需要高度自定义用户配置的场景,其基本语法为useradd [选项] 用户名,常用选项包括:
-m:自动创建用户主目录,默认位于/home/用户名-s:指定用户登录的Shell,如/bin/bash或/sbin/nologin(禁止登录)-d:自定义用户主目录路径-g:指定用户所属的主组-G:指定用户所属的附加组,多个组用逗号分隔-c:添加用户注释信息
创建一个名为testuser的用户,并自动创建主目录:
sudo useradd -m -s /bin/bash testuser
创建用户后,默认会生成一个与用户名相同的组作为主组,且用户初始密码为空,无法直接登录系统,需要使用passwd命令设置密码:
sudo passwd testuser
使用adduser命令创建用户
adduser是useradd的友好版 wrapper 命令,在CentOS中默认以交互式方式运行,更适合新手用户,执行该命令后会提示输入用户信息,如密码、全名、电话号码等:
sudo adduser testuser
与useradd不同,adduser会自动创建用户主目录并设置基本权限,无需额外指定-m选项,但其灵活性较低,不适合需要批量创建或复杂配置的场景。
批量创建用户
当需要创建大量用户时,可结合useradd与文本文件实现批量操作,首先准备一个包含用户名的文本文件(如users.txt),每行一个用户名:

# users.txt内容示例 user1 user2 user3
然后通过循环命令批量创建:
for user in $(cat users.txt); do
sudo useradd -m -s /bin/bash $user
echo "$user:初始密码" | sudo chpasswd
done
若需为每个用户设置不同密码,可创建密码文件(格式为用户名:密码),使用chpasswd命令批量导入:
sudo chpasswd < passwords.txt
用户权限与组管理
创建用户后,合理配置权限至关重要,CentOS中的用户组通过/etc/group文件管理,常用操作包括:
- 创建组:
sudo groupadd develop - 将用户加入组:
sudo usermod -aG develop testuser - 查看用户所属组:
groups testuser
对于需要sudo权限的用户,可将其加入wheel组:
sudo usermod -aG wheel testuser
编辑/etc/sudoers文件(使用visudo命令),确保%wheel行未被注释,以允许该组成员执行sudo命令。
用户配置文件详解
用户创建后,系统会生成多个关键配置文件:

/etc/passwd:存储用户基本信息,每行包含用户名、UID、主目录、Shell等字段/etc/shadow:存储加密密码及密码策略信息,仅root可读/etc/group:定义组信息及组成员/etc/gshadow:存储组密码及管理员信息/home/用户名:用户主目录,包含用户配置文件如.bashrc
修改用户信息时,可直接编辑上述文件,但推荐使用usermod、passwd等命令,避免手动操作导致格式错误。
安全注意事项
- 密码策略:通过
/etc/login.defs文件配置密码最小长度、有效期等策略,或使用chage命令设置:sudo chage -M 90 testuser # 密码90天后过期
- 禁止闲置用户:对于不再需要的用户,使用
userdel -r命令删除用户及其主目录:sudo userdel -r testuser
- 限制登录权限:对无需登录的系统账户(如服务账户),使用
/sbin/nologin作为Shell:sudo useradd -s /sbin/nologin serviceuser
FAQs
Q1:如何查看系统中已存在的用户列表?
A:可通过以下命令查看用户信息:
cat /etc/passwd | cut -d: -f1:仅显示用户名getent passwd:显示所有用户(包括LDAP等远程用户)awk -F: '$3>=1000 && $3!=65534 {print $1}' /etc/passwd:显示普通用户(排除系统账户)
Q2:如何修改用户的主目录或Shell?
A:使用usermod命令即可实现:
- 修改主目录:
sudo usermod -d /new/path -m testuser(-m选项会自动迁移文件) - 修改Shell:
sudo usermod -s /bin/zsh testuser
修改后,用户下次登录将使用新的配置。