在CentOS系统中添加用户并设置密码是系统管理的基础操作之一,无论是搭建服务器还是日常运维,都涉及用户权限管理,本文将详细介绍在CentOS系统中添加用户、设置密码的具体步骤,以及相关的注意事项和最佳实践,帮助管理员高效完成用户配置任务。

添加新用户的基本操作
在CentOS系统中,通常使用useradd或adduser命令创建新用户。useradd是底层的用户创建命令,功能丰富但参数较多;adduser则是useradd的交互式封装,更适合新手使用,以下是使用useradd创建用户的基本语法:
sudo useradd -m -s /bin/bash username
-m:自动创建用户的主目录(默认位于/home/username),若不添加此参数,系统可能不会创建主目录,导致用户无法正常登录。-s /bin/bash:指定用户的登录Shell,/bin/bash是常用的交互式Shell,适合普通用户;若用户无需登录(如用于运行服务的账户),可设置为/sbin/nologin。username:自定义的用户名,建议使用小写字母、数字和下划线的组合,避免特殊字符。
创建一个名为devuser的用户并设置主目录和默认Shell:
sudo useradd -m -s /bin/bash devuser
设置与修改用户密码
创建用户后,必须为其设置密码才能正常登录,使用passwd命令可以为用户设置或修改密码,基本语法如下:
sudo passwd username
执行命令后,系统会提示输入两次密码(输入时不会显示字符),两次输入一致即可完成设置,为devuser设置密码:
sudo passwd devuser
密码安全注意事项:

- 密码复杂度:建议包含大小写字母、数字和特殊字符,长度至少12位,避免使用生日、姓名等弱密码。
- 定期更新:可通过
chage命令设置密码过期策略,例如强制90天后修改密码:sudo chage -M 90 username
- 禁用空密码:确保所有用户均设置密码,避免系统安全风险。
用户管理的高级操作
用户附加组管理
用户可同时属于多个组,便于权限分配,使用usermod命令将用户添加到附加组:
sudo usermod -aG groupname username
将devuser添加到docker组:
sudo usermod -aG docker devuser
修改用户属性
若需修改用户的主目录、Shell等信息,可使用usermod命令,修改用户devuser的主目录:
sudo usermod -d /new/home/devuser -m devuser
-d:指定新主目录路径。-m:自动将旧主目录内容迁移到新路径。
删除用户
若需删除用户及其主目录,使用userdel命令:
sudo userdel -r username
-r:同时删除用户的主目录和邮件 spool,避免残留文件。
最佳实践与常见问题
- 避免直接使用root用户:日常操作建议使用普通用户,通过
sudo提权,减少误操作风险。 - 定期审查用户列表:使用
cat /etc/passwd查看系统所有用户,清理闲置或异常账户。 - 配置SSH密钥登录:对于远程服务器,建议优先使用SSH密钥认证,结合密码策略增强安全性。
FAQs
Q1:如何查看用户密码的过期时间?
A:使用chage -l username命令可查看用户密码的详细信息,包括最后修改日期、过期时间等。

sudo chage -l devuser
Q2:如何批量创建多个用户?
A:可通过编写脚本结合useradd和passwd命令实现批量创建,创建一个用户列表文件users.txt,每行一个用户名,然后执行以下脚本:
#!/bin/bash
while read username; do
sudo useradd -m -s /bin/bash "$username"
echo "$username" | sudo passwd --stdin "$username"
done < users.txt
执行前需确保脚本具有执行权限(chmod +x script.sh),并提前准备好用户列表文件。