useradd是Linux中创建用户的最基础命令,需用-m创建家目录、-s指定shell、passwd设置密码,否则用户无法登录;附加组需用usermod -aG添加,创建后须检查id、家目录权限及/etc/passwd配置。
Linux中添加用户最常用、最基础的命令就是
。它不带交互界面,是脚本友好型工具,但参数多、默认行为容易被忽略——用错可能创建出无法登录、家目录缺失、或权限异常的账户。
useradd 默认行为必须知道
直接运行
不会自动创建家目录、不设置密码、不分配 shell,生成的用户处于“禁用”状态:
家目录(如
)默认不创建,需加
参数
登录 shell 默认是
(部分系统为
),可用
显式指定
用户密码为空,无法登录,必须后续用
设置
主用户组(primary group)默认与用户名同名,且自动创建(除非用
指定已有组)
常用组合参数一次配齐
日常新建一个可立即登录的标准用户,推荐这样写:
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
:强制创建家目录并复制 skeleton 文件(如
下的 .bashrc)
:指定默认 shell,避免登录后进到受限环境
:填写 GECOS 字段(全名/备注),显示在
或
中
用户名
必须唯一,不能含特殊字符或空格
关联用户组的两种典型场景
新用户常需加入 sudo、docker、wheel 等特权组,
本身不支持直接添加附加组,需分步操作:
创建时指定主组:
(主组设为已存在的
)
创建后加附加组:
(
是关键,避免覆盖原有附加组)
注意:
可指定附加组,但仅在创建时生效,且不会自动创建这些组
验证与排错小技巧
建完用户别急着切过去,先检查几处关键配置:
查用户是否存在:
(看 UID、GID、所属组)
查家目录权限:
(应属该用户,权限通常为
)
查 shell 是否合法:
(第六字段是家目录,第七字段是 shell)
如果登录失败,优先检查:
(Ubuntu/Debian)或
(RHEL/CentOS)中的拒绝原因
useradduseradd username/home/username-m/bin/sh/bin/bash-s /bin/bashpasswd username-gsudo useradd -m -s /bin/bash -c "张三" zhangsan-m/etc/skel/-s /bin/bash-c "张三"fingerlslogzhangsanuseradduseradd -g devteam -m devuserdevteamusermod -aG sudo, docker zhangsan-aGuseradd -Gid zhangsanls -ld /home/zhangsandrwx------grep zhangsan /etc/passwd/var/log/auth.log/var/log/secure