useradd 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,属于用户与权限命令族(见用户与权限命令族)。新增系统账号的第一步。
useradd 在系统里创建一个新用户账号(写入 /etc/passwd、/etc/shadow 等)。它是底层命令,参数要给全,否则建出的用户可能没家目录、没 shell。
一、基本用法
bash
sudo useradd -m -s /bin/bash alice # 建 alice,带家目录和 bash
sudo useradd -m -G sudo,devteam -s /bin/bash bob # 附加到 sudo 和 devteam 组务必加
-m:否则不创建家目录,用户登录后没地方放配置。-s设登录 shell(常/bin/bash),不设可能默认/bin/sh或无 shell。-G给附属组(多个逗号分隔),主组默认建一个同名组。
二、指定 uid / 家目录
bash
sudo useradd -u 2001 -m -d /data/alice alice # 指定 uid 和家目录位置
sudo useradd -r nginx # -r 建系统用户(无家目录、uid < 1000)
-u指定 uid(避免自动分配冲突);-d改家目录路径;-r(system)建系统服务账号(如 nginx、mysql),通常无登录 shell、uid 在小范围。
三、useradd vs adduser
bash
useradd alice # 底层命令,参数需全给,不交互
adduser alice # Debian 系封装,交互式提问、自动建家目录(非所有发行版都有)
useradd是标准底层工具,所有发行版都有,但"裸用"会漏家目录。adduser是 Debian/Ubuntu 的高层封装,交互更友好、默认更合理,但 CentOS/RHEL 可能没有。写跨发行版脚本用useradd+ 完整参数最稳。
四、建完记得设密码
bash
sudo passwd alice # useradd 不自动设密码,用户无法登录,需补一步重要:
useradd不会设密码,新用户处于"锁死"状态(密码为!)。必须再passwd alice设密才能登录。这是新手最常漏的一步。
相关命令
一句话总结
useradd = 建新用户(底层标准命令,所有发行版都有):务必 -m 建家目录、-s /bin/bash 设 shell、-G 加附属组、-u 指定 uid;建完不会自动设密码,须 passwd user 补;-r 建系统账号。与 adduser(Debian 交互式封装)比,useradd 跨发行版脚本更稳。