一、基础用户信息选项
**-c <备注>**
功能:添加用户备注信息(如全名),存储在 /etc/passwd 的 GECOS 字段
示例:
bash
useradd -c “运维工程师” admin # 添加备注
引用:
**-d <主目录路径>**
功能:指定用户主目录路径(默认为 /home/用户名)
示例:
bash
useradd -d /data/projects user1 # 主目录为 /data/projects
引用:
**-e <过期日期>**
功能:设置账户失效日期(格式 YYYY-MM-DD)
示例:
bash
useradd -e “2025-12-31” tempuser # 账户2025年底失效
引用:
**-f <天数>**
功能:设置密码过期后禁用账户的天数(0 立即禁用,-1 关闭)
示例:
bash
useradd -f 7 user2 # 密码过期7天后禁用账户
引用:
二、主目录控制
**-m / --create-home**
功能:自动创建主目录(默认启用)
示例:
bash
useradd -m user3 # 创建主目录 /home/user3
引用:
**-M / --no-create-home**
功能:不创建主目录(即使配置文件允许)
示例:
bash
useradd -M user4 # 仅创建账户,不生成主目录
引用:
**-k <骨架目录>**
功能:指定模板目录,复制文件到新用户主目录(默认为 /etc/skel)
示例:
bash
useradd -k /custom/skel user5 # 使用自定义模板
引用:
三、用户与组管理
**-g <组名/ID>**
功能:设置用户初始主组(需组已存在)
示例:
bash
useradd -g developers user6 # 主组为 developers
引用:
**-G <附加组列表>**
功能:添加用户到多个附加组(用逗号分隔)
示例:
bash
useradd -G admins,dba user7 # 添加到 admins 和 dba 组
引用:
**-n / --no-user-group**
功能:不创建与用户名同名的组
示例:
bash
useradd -n user8 # 仅创建用户,不创建同名组
引用:
四、UID与系统账户
**-u **
功能:指定用户UID(需唯一)
示例:
bash
useradd -u 1008 user9 # UID设为1008
引用:
**-o / --non-unique**
功能:允许创建重复UID的用户(需谨慎)
示例:
bash
useradd -o -u 1000 user10 # 允许UID重复
引用:
**-r / --system**
功能:创建系统账户(UID < 1000,无主目录)
示例:
bash
useradd -r systemuser # 创建系统账户
引用:
五、Shell与登录配置
**-s <Shell路径>**
功能:指定用户默认登录Shell(如 /bin/bash 或 /sbin/nologin)
示例:
bash
useradd -s /sbin/nologin user11 # 禁止登录
引用:
**-D / --defaults**
功能:修改默认配置(如默认Shell、主目录路径)
示例:
bash
useradd -D -s /bin/zsh # 修改默认Shell为zsh
引用:
六、其他高级选项
**-b <基目录>**
功能:设置用户主目录的基路径(如 /export/home)
示例:
bash
useradd -b /export/home user12 # 主目录为 /export/home/user12
引用:
**-e**
功能:显示当前默认配置(需与 -D 配合)
示例:
bash
useradd -D # 查看默认配置
引用:
**-p <密码>**
功能:直接设置加密密码(需明文加密格式)
示例:
bash
useradd -p $(openssl passwd -1 “password”) user13 # 设置加密密码
引用:
关键输出字段解析
字段 含义 适用场景
UID 用户唯一标识符(需唯一) 账户管理
GID 主组标识符 组权限控制
Shell 登录后使用的命令解释器(如 /bin/bash) 账户登录配置
Home Dir 用户主目录路径 文件系统管理
Expire Date 账户失效日期(/etc/shadow 中记录) 临时账户管理
注意事项
权限要求:需 root 或管理员权限执行
系统差异:不同Linux发行版默认配置可能不同(如 /etc/skel 路径)
密码安全:建议通过 passwd 命令交互式设置密码
配置文件:默认行为可通过修改 /etc/default/useradd 调整
完整手册可通过 man useradd 查看,或参考系统网页如 /etc/login.defs。