在 CentOS 6.5 这样的企业级 Linux 操作系统中,用户管理是系统安全与多任务环境的基础,合理地创建和配置用户账户,不仅可以实现权限的精细化控制,还能有效隔离不同服务或个人的工作空间,提升系统的整体安全性,本文将详细介绍在 CentOS 6.5 中添加用户的多种方法、关键选项及最佳实践。

基本命令:useradd
useradd 是 Linux 系统中用于创建新用户的底层核心命令,它功能强大,提供了丰富的选项来满足各种定制化需求,其基本语法结构如下:
useradd [选项] 用户名
如果不带任何选项直接使用 useradd,系统会根据 /etc/login.defs 和 /etc/default/useradd 文件中的默认配置来创建用户,为了确保用户创建的准确性和可预测性,强烈推荐显式地使用必要的选项。
常用选项详解
为了更好地控制用户创建过程,理解并熟练使用 useradd 的常用选项至关重要,下表列举了最核心的几个选项及其用途:
| 选项 | 描述 | 示例 |
|---|---|---|
-m |
自动创建用户的家目录(通常位于 /home/用户名),这是最常用的选项之一。 |
useradd -m newuser |
-s |
指定用户登录后使用的 Shell。/bin/bash(常用)或 /sbin/nologin(禁止登录)。 |
useradd -s /sbin/nologin serviceuser |
-d |
自定义用户的家目录路径,覆盖默认的 /home/用户名。 |
useradd -d /var/www/webuser webuser |
-g |
指定用户的主组(Primary Group),该组必须已存在。 | useradd -g developers dev01 |
-G |
指定用户的附加组(Supplementary Groups),多个组之间用逗号隔开。 | useradd -G developers,pm team01 |
-c |
添加用户的备注信息,通常是全名或描述。 | useradd -c "John Doe" jdoe |
实战操作:创建一个新用户
下面通过一个完整的实例,演示如何创建一个可以进行常规操作的新用户 testuser。
第一步:创建用户并设置基本属性
我们希望创建一个名为 testuser 的用户,为其创建家目录,设置默认的 Bash Shell,并添加一条备注信息,执行以下命令:

sudo useradd -m -s /bin/bash -c "Test Account for Demo" testuser
sudo:因为创建用户需要管理员权限,所以使用sudo来提权。-m:确保系统在/home目录下创建了testuser文件夹。-s /bin/bash:赋予该用户一个功能完整的交互式 Shell。-c "...":为该账户添加描述性信息。
第二步:为新用户设置密码
用户创建后,默认是被锁定的,无法登录,必须使用 passwd 命令为其设置初始密码:
sudo passwd testuser
系统会提示你输入两次新密码进行确认,设置成功后,testuser 就可以登录系统了。
第三步:验证用户创建
可以通过检查 /etc/passwd 文件和家目录来验证用户是否创建成功:
grep testuser /etc/passwd ls -la /home/testuser
第一条命令会显示 testuser 的账户信息条目,第二条命令则会列出其家目录下的初始文件(如 .bashrc, .bash_profile 等)。

用户管理补充
除了创建用户,相关的管理命令也同样重要。
- 删除用户:使用
userdel命令,若要同时删除其家目录和邮件池,需加上-r选项。sudo userdel -r testuser
- 修改用户属性:使用
usermod命令,其选项与useradd大多通用,用于修改已存在用户的属性。
相关问答FAQs
问:我刚刚创建了一个用户,但为什么无法使用 SSH 登录?
答:这通常有两个主要原因,第一,你可能忘记了为新用户设置密码,未设置密码的账户默认被禁止登录,请使用 sudo passwd 用户名 命令设置密码,第二,创建用户时可能指定了错误的 Shell,/sbin/nologin 或 /bin/false,这两个 Shell 的作用就是禁止用户交互式登录,你可以使用 sudo usermod -s /bin/bash 用户名 命令将其修改为可登录的 Shell。
问:useradd 和 adduser 命令有什么区别?
答:在 CentOS/RHEL 系统中,adduser 通常是 useradd 命令的一个符号链接,两者本质上是同一个命令,但在其他一些 Linux 发行版(如 Debian/Ubuntu)中,adduser 是一个用 Perl 编写的、更友好的高级脚本,它会以交互式方式引导你设置密码、家目录等信息,并自动调用 useradd 等底层命令,在 CentOS 6.5 中,你可以认为 useradd 和 adduser 是等效的,但 useradd 是更通用、更标准的写法。