Linux useradd命令详解

useradd 是 Linux 系统中用于创建新用户的底层命令。与交互式命令 adduser 不同,useradd 主要通过命令行参数来完成所有设置,因此非常适合在脚本中自动化执行。

⚙️ 基础语法

命令的基础格式是:useradd [选项] 用户名。执行此命令需要 root 或具有 sudo 权限的用户。

🛠️ 核心选项详解

下表整理了 useradd 最常用的选项:

选项 说明
-m 创建家目录 。这是最常用的选项之一,会在 /home/ 下为用户创建一个独立的目录。不加此选项,用户默认没有家目录。
-d 指定家目录路径。用于自定义家目录的位置。
-s 指定登录 Shell 。例如 /bin/bash。如果省略,通常会被分配一个默认的Shell,如 /bin/sh。
-c 添加用户描述。通常用于填写用户的全名或备注信息,方便管理。
-g 指定主组。用户登录后默认所属的组,该组必须已存在。如不指定,系统通常会创建一个与用户名同名的新组。
-G 指定附加组。将用户添加到多个已存在的组中,获得这些组的权限,组名之间用逗号分隔。
-u 指定用户 ID (UID)。为账户手动分配一个唯一的数字标识。不指定时系统会自动分配。
-e 设置账户过期日期 。格式为 YYYY-MM-DD,账户到期后将自动被锁定。
-f 设置密码过期后的宽限期。密码过期后,账户还能被使用的天数,之后将被锁定。
-r 创建系统账户。用于创建UID在系统范围(通常是1-999)的服务账户,一般不创建家目录。
-M 不创建家目录。即使系统配置默认创建,也可用此选项显式禁止。

📂 关联配置文件

useradd 命令的行为受到以下系统配置文件的影响:

配置文件 作用
/etc/passwd 存储用户账户的核心信息,如用户名、UID、主组ID、家目录和登录Shell。
/etc/shadow 存储用户的密码哈希值和密码过期等安全信息,权限非常严格,只有 root 可读。
/etc/group 定义系统中的用户组及其成员。
相关推荐
无奈笑天下5 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla8 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州9 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__10 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo10 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
坤坤子吖13 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump13 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风14 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府14 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT15 小时前
【RHCA+】IO调度算法
linux·服务器