Linux useradd 命令详细教程

  • useradd 是 Linux 系统中用于创建新用户账户的基础命令,它通过配置文件(如 /etc/passwd/etc/shadow)和默认设置自动完成用户创建流程。本文将详细介绍其用法、参数及相关配置。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
useradd [选项] 用户名
  • 核心功能
    • 在系统中创建新用户账户。
    • 自动生成用户主目录(默认 /home/用户名)。
    • 分配用户 ID(UID)和组 ID(GID)。
    • 配置用户基本信息(如 shell、过期时间等)。
二、常用选项
选项功能描述
-d 目录指定用户的主目录(如 -d /data/user1
-m自动创建主目录(若不存在)
-M不创建主目录(默认不创建,除非 -m 已指定)
-g 组名指定用户的初始主组(如 -g developers
-G 组名1,组名2指定用户的附加组(如 -G sudo,adm
-s shell指定用户的登录 shell(如 -s /bin/bash
-u UID指定用户的 UID(需手动确保唯一性)
-e 日期设置账户过期日期(格式:YYYY-MM-DD)
-f 天数设置密码过期后账户的宽限期(如 -f 7
-c 注释添加用户注释(如 -c "系统管理员"
-N不创建与用户名同名的组(默认会创建)
三、实际操作示例
1. 创建普通用户(默认配置)
useradd testuser  # 创建用户 testuser,使用默认配置
  • 默认行为:
    • 主目录:/home/testuser(需配合 -m 自动创建)。
    • 主组:testuser(同名组)。
    • shell:/bin/sh(或系统默认 shell)。
    • UID:自动分配(通常从 1000 开始递增)。
2. 创建用户并指定主目录
useradd -m -d /data/admin admin  # 创建用户 admin,主目录为 /data/admin
3. 将用户添加到多个组
# 创建用户 dev1,主组为 developers,附加组为 sudo 和 docker
useradd -m -g developers -G sudo,docker dev1
4. 创建系统用户(无交互式 shell)
useradd -r -s /sbin/nologin nginx  # 创建系统用户 nginx,用于运行服务
  • -r:创建系统用户(UID 通常小于 1000)。
  • -s /sbin/nologin:禁止用户登录交互式 shell。
5. 设置用户账户过期时间
useradd -e 2025-12-31 tempuser  # 创建临时用户,账户2025年底过期
四、配置文件与默认值

useradd 的默认行为由以下配置文件控制:

  1. /etc/default/useradd:全局默认设置

    GROUP=100  # 默认组 ID
    HOME=/home  # 主目录前缀
    INACTIVE=-1  # 密码过期后账户不锁定
    EXPIRE=  # 账户默认不过期
    SHELL=/bin/bash  # 默认 shell
    SKEL=/etc/skel  # 主目录模板目录
    CREATE_MAIL_SPOOL=yes  # 是否创建邮件假脱机文件
    
  2. /etc/skel/:主目录模板

    • 新用户主目录会复制此目录下的所有文件(如 .bashrc.profile)。
  3. /etc/login.defs:系统级用户账户配置

    • 定义 UID/GID 范围、密码策略等。
五、验证用户创建结果

创建用户后,可通过以下命令验证:

  1. 查看用户信息

    id username  # 显示用户 UID、GID 和所属组
    cat /etc/passwd | grep username  # 查看用户账户信息
    
  2. 检查主目录

    ls -ld /home/username  # 查看主目录权限和所有者
    
  3. 设置密码

    passwd username  # 为新用户设置密码
    
六、注意事项
  1. 权限要求
    必须使用 sudo 或 root 权限执行 useradd

  2. UID 唯一性
    使用 -u 手动指定 UID 时,需确保该 UID 未被其他用户使用(可通过 /etc/passwd 检查)。

  3. 主目录与模板
    若不使用 -m 选项,需手动创建主目录并配置权限。

  4. 系统用户与服务账户
    运行系统服务(如 Web 服务器、数据库)时,建议创建专用系统用户(如 nginxmysql),并限制其登录权限。

七、与其他命令对比
命令功能适用场景
useradd创建用户账户(非交互式)批量创建用户、脚本自动化
adduser创建用户账户(交互式)手动创建用户,引导输入信息
usermod修改用户账户属性修改现有用户的组、shell 等
userdel删除用户账户移除不再需要的用户
八、总结

useradd 是 Linux 系统中创建用户的基础工具,核心用法可总结为:

  • 基本创建useradd -m username
  • 指定主组useradd -g groupname username
  • 添加附加组useradd -G sudo,docker username
  • 系统用户useradd -r -s /sbin/nologin servicename

合理配置用户账户是系统安全的重要环节,建议结合 usermoduserdel 命令管理用户生命周期,并定期清理不再使用的账户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914466.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914466.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914466.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytest之收集用例规则与运行指定用例

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 小伙伴们大家好呀,今天笔者会给大家讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢&#xff…

qt 使用memcpy进行内存拷贝时注意的问题

int offset sizeof(st_target_data);// 预先分配足够空间this->featureData.resize(offsetsize);// 再执行拷贝memcpy(this->featureData.data()offset, dataa, size);注意 一定要在mencpy之前 使用resize分配足够的空间,否则在方法退出时候会闪退&#xff…

微调性能赶不上提示工程怎么办?Can Gradient Descent Simulate Prompting?——论文阅读笔记

今天速读一篇文章 Can Gradient Descent Simulate Prompting? 一句话总结 针对【新知识应用的场景里,FT效果往往追不上ICL】这个情况,作者引入MAML的思想↓ 内圈让模型学习新知识形成知识FT模型; 外圈通过最小化ICL和知识FT模型的KL散度&…

从“直觉抢答”到“深度思考”:大模型的“慢思考”革命,思维链、树、图如何让AI越来越像人?

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《GPT多模态大模型与AI Agent智能体》(跟我一起学人工智能)【陈敬雷编著】【清华大学出版社】 GPT多模态大模型与AI Agent智能体书籍本章配套视频课程【陈敬雷】 文…

Android系统的问题分析笔记 - Android上的调试方式 debuggerd

debuggerd 是 Android 系统中的一个重要调试工具,主要用于生成进程崩溃时的核心转储(core dump)和调试信息(如堆栈跟踪)。以下是关于 debuggerd 的详细说明: 1. 基本功能 崩溃分析:当 Native 进…

python 双下划线开头函数

在 Python 里,双下划线开头的函数(准确地说是方法)有着特殊的用途和意义。下面为你详细介绍相关内容: 1. 类的特殊方法(魔术方法) 以双下划线开头和结尾的方法,被称为特殊方法或者魔术方法&…

VyOS起步指南:用Docker快速搭建网络实验环境

文章目录1. VyOS是什么?为什么选择它?2. 五分钟快速部署:Docker方案3. 进入容器:初探VyOS世界4. 核心操作:像开发者一样思考5. 踩坑提醒:新手常见问题6. 结语:网络即代码的未来1. VyOS是什么&am…

动态规划理论基础,LeetCode 509. 斐波那契数 LeetCode 70. 爬楼梯 LeetCode 746. 使用最小花费爬楼梯

动态规划理论基础动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心&#xff…

暑期自学嵌入式——Day02(C语言阶段)

点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!! 主页: 一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?spm1000.2115.3001.5343 目录 Day02→数据类型&#xf…

如何单独安装设置包域名

前言 在 npm 中,直接通过 package-lock.json 无法单独设置包的安装地址,因为该文件是自动生成的依赖关系锁定文件。但你可以通过以下方法间接实现: 一、在 package.json 中指定包来源(推荐) 在 package.json 的 depend…

存储过程探秘:数据库编程的艺术

文章目录存储过程语法格式BEGIN...END语句块DECLARE(声明局部变量)流控制语句if函数批处理操作测试2测试3存储过程与函数的关系存储过程 MYSQL的存储过程是一组预处理的SQL语句,可以像函数一样在数据库中进行存储和调用。 它们允许在数据库…

非阻塞写入核心:asyncio.StreamWriter 的流量控制与数据推送之道

在 asyncio 的异步编程框架中,如果说 asyncio.StreamReader 是你异步应用的数据输入管道,那么 asyncio.StreamWriter 就是你异步应用的数据输出管道。它是一个至关重要的组件,让你能够方便、高效且非阻塞地向连接的另一端(如 TCP …

控制台打开mysql服务报错解决办法

控制台打开mysql服务报错解决办法这个MySQL错误表示访问被拒绝,通常是因为没有提供正确的用户名和密码。以下是几种解决方法: 方法1:指定用户名和密码连接 mysql -u root -p然后输入root用户的密码。 方法2:如果忘记了root密码&am…

Unsloth 实战:DeepSeek-R1 模型高效微调指南(下篇)

食用指南 本系列因篇幅原因拆分为上下两篇: 上篇以基础环境搭建为主,介绍了 Unsloth 框架、基座模型下载、导入基座模型、数据集下载/加载/清洗、SwanLab 平台账号注册。 下篇(本文)以实战微调为主,介绍预训练、全量…

Ubuntu安装Jenkins

Ubuntu安装Jenkins方法1:使用官方的Jenkins仓库1. 添加Jenkins仓库2. 更新软件包列表3. 安装Jenkins4. 启动Jenkins服务5. 设置Jenkins开机启动6. 查找初始管理员密码7. 访问Jenkins方法2:使用Snap包(适用于较新的Ubuntu版本)1. 安…

ubuntu22.04下配置qt5.15.17开发环境

自从qt5.15版本开始,不再提供免费的离线安装包,只能通过源码自行编译。刚好最近需要在ubuntu22.04下配置qt开发环境,于是写篇文章记录配置的过程。 其实一开始是想配置qt5.15.2的,但是在编译配置参数这一步骤中出现如下报错 em…

S7-1200 与 S7-300 CPS7-400 CP UDP 通信 Step7 项目编程

S7-1200 CPU 与S7-300 CP STEP7 UDP通信S7-1200 与 S7-300 CP 之间的以太网通信可以通过 UDP 协议来实现,使用的通信指令是在S7-1200 CPU 侧调用通信-开放式用户通信TSEND_C,TRCV_C指令或TCON,TDISCON,TUSEND,TURCV 指…

基于YOLOv11的无人机目标检测实战(Windows环境)

1. 环境搭建 1.1 硬件与操作系统 操作系统:Windows 11 CPU:Intel i7-9700 GPU:NVIDIA RTX 2080(8GB显存) 1.2 安装CUDA和cuDNN 由于YOLOv11依赖PyTorch的GPU加速,需要安装CUDA和cuDNN: 安…

Spring Cloud分布式配置中心:架构设计与技术实践

从单体到微服务:Spring Cloud 开篇与微服务设计 Spring Cloud服务注册与发现:架构设计与技术实践深度分析 在以往分享中,码友们已经掌握了微服务的设计和注册中心的设计,部分聪明的码友已经察觉了,已经到了需要设计一个…

15.2 Common Criteria合规

目录1. Common Criteria简介1.1 CC评估要素1.2 CC与TF-A的关系2. TF-A的CC合规要求2.1 安全功能需求2.2 开发过程要求3. TF-A的CC合规实现3.1 关键安全机制3.2 开发流程控制4. CC认证实践指南4.1 认证准备步骤4.2 典型挑战与解决方案4.3 已认证案例参考5. 持续合规建议1. Commo…