当前位置: 首页 > news >正文

Linux useradd命令教程:如何创建新的用户账户(附实例详解和注意事项)

Linux useradd命令介绍

useradd是Linux中用于添加用户账户的命令。它可以用于创建新的用户,并可以配合不同的选项来指定用户的主目录、UID、GID、组等信息。

Linux useradd命令适用的Linux版本

useradd命令在大多数Linux发行版中都可以使用,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian。如果在某些Linux发行版中无法使用useradd命令,可能需要安装相应的包。例如,在CentOS 7和CentOS 8中,可以使用以下命令进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo yum install useradd  # CentOS 7
[linux@bashcommandnotfound.cn ~]$ sudo dnf install useradd  # CentOS 8

Linux useradd命令的基本语法

useradd命令的基本语法如下:

useradd [OPTIONS] USERNAME

其中,OPTIONS是命令选项,USERNAME是要创建的用户名。

Linux useradd命令的常用选项或参数说明

以下是useradd命令的一些常用选项:

选项说明
-d指定新用户的主目录
-e设置账户的到期日期
-g指定用户的初始组
-G指定用户所属的附加组
-m创建用户的主目录
-M不创建用户的主目录
-N不创建用户的主组
-p为用户设置密码
-r创建一个系统账户
-s指定用户的登录shell
-u指定用户的UID

Linux useradd命令实例详解

以下是一些useradd命令的使用实例:

实例1:创建新用户

[linux@bashcommandnotfound.cn ~]$ sudo useradd testuser

这个命令会创建一个名为testuser的新用户。

实例2:创建新用户并指定主目录

[linux@bashcommandnotfound.cn ~]$ sudo useradd -d /home/testuser testuser

这个命令会创建一个名为testuser的新用户,并将其主目录设置为/home/testuser

实例3:创建新用户并指定UID

[linux@bashcommandnotfound.cn ~]$ sudo useradd -u 1234 testuser

这个命令会创建一个名为testuser的新用户,并将其UID设置为1234。

实例4:创建新用户并指定初始组

[linux@bashcommandnotfound.cn ~]$ sudo useradd -g users testuser

这个命令会创建一个名为testuser的新用户,并将其初始组设置为users

实例5:创建新用户并指定附加组

[linux@bashcommandnotfound.cn ~]$ sudo useradd -G wheel testuser

这个命令会创建一个名为testuser的新用户,并将其附加组设置为wheel

实例6:创建新用户并设置密码

[linux@bashcommandnotfound.cn ~]$ sudo useradd -p password testuser

这个命令会创建一个名为testuser的新用户,并将其密码设置为password

实例7:创建新用户并指定登录shell

[linux@bashcommandnotfound.cn ~]$ sudo useradd -s /bin/bash testuser

这个命令会创建一个名为testuser的新用户,并将其登录shell设置为/bin/bash

实例8:创建新用户并设置账户的到期日期

[linux@bashcommandnotfound.cn ~]$ sudo useradd -e 2024-12-31 testuser

这个命令会创建一个名为testuser的新用户,并将其账户的到期日期设置为2024-12-31

实例9:创建一个系统账户

[linux@bashcommandnotfound.cn ~]$ sudo useradd -r testuser

这个命令会创建一个名为testuser的新系统账户。

实例10:创建新用户但不创建主目录

[linux@bashcommandnotfound.cn ~]$ sudo useradd -M testuser

这个命令会创建一个名为testuser的新用户,但不会创建用户的主目录。

实例11:创建新用户但不创建主组

[linux@bashcommandnotfound.cn ~]$ sudo useradd -N testuser

这个命令会创建一个名为testuser的新用户,但不会创建用户的主组。

实例12:创建新用户并指定多个附加组

[linux@bashcommandnotfound.cn ~]$ sudo useradd -G wheel,users testuser

这个命令会创建一个名为testuser的新用户,并将其附加组设置为wheelusers

实例13:创建新用户并指定UID和GID

[linux@bashcommandnotfound.cn ~]$ sudo useradd -u 1234 -g 1234 testuser

这个命令会创建一个名为testuser的新用户,并将其UID和GID都设置为1234。

实例14:创建新用户并指定主目录和登录shell

[linux@bashcommandnotfound.cn ~]$ sudo useradd -d /home/testuser -s /bin/bash testuser

这个命令会创建一个名为testuser的新用户,并将其主目录设置为/home/testuser,登录shell设置为/bin/bash

实例15:创建新用户并设置密码和账户的到期日期

[linux@bashcommandnotfound.cn ~]$ sudo useradd -p password -e 2024-12-31 testuser

这个命令会创建一个名为testuser的新用户,并将其密码设置为password,账户的到期日期设置为2024-12-31

Linux useradd命令的注意事项

  • 使用useradd命令需要root权限或者sudo权限。
  • 如果在使用useradd命令时遇到bash: useradd: command not found错误,可能需要安装相应的包。

Linux useradd相关命令

useradd 是一个用于在 Linux 系统上创建新用户账户的命令。以下是与用户管理相关的一些命令,以及一些其他常用的 Linux 命令:

useradd 命令:创建新的用户账户
passwd 命令:更新用户的认证令牌(密码)
usermod 命令:修改已存在用户的设置
userdel 命令:删除用户账号和相关文件
adduser 命令:用于添加用户
groupadd 命令:创建一个新的用户组
groupmod 命令:修改用户组属性
groupdel 命令:删除用户组
chage 命令:改变用户密码过期信息
gpasswd 命令:管理员工具,用于组管理
id 命令:打印实际和有效用户和群组 ID
whoami 命令:打印当前有效用户ID
groups 命令:打印当前用户的组
finger 命令:用户信息查找程序
last 命令:显示用户的最近登录信息
sudo 命令:允许权限用户执行命令
touch 命令:改变文件时间戳
tar 命令:存档文件
grep 命令:文件搜索工具,可以使用正则表达式
find 命令:在目录树中搜索文件
awk 命令:用于模式扫描和处理语言
sed 命令:流式文本编辑器
chmod 命令:更改文件模式权限
chown 命令:更改文件的用户和/或组所有权
cut 命令:删除文件每行中的部分字段

相关文章:

Linux useradd命令教程:如何创建新的用户账户(附实例详解和注意事项)

Linux useradd命令介绍 useradd是Linux中用于添加用户账户的命令。它可以用于创建新的用户,并可以配合不同的选项来指定用户的主目录、UID、GID、组等信息。 Linux useradd命令适用的Linux版本 useradd命令在大多数Linux发行版中都可以使用,包括但不限…...

基于ollama搭建本地chatGPT

ollama帮助我们可以快速在本地运行一个大模型,再整合一个可视化页面就能构建一个chatGPT,可视化页面我选择了chat-ollama(因为它还能支持知识库,可玩性更高),如果只是为了聊天更推荐chatbox 部署步骤 下载…...

C++11 数据结构3 线性表的循环链式存储,实现,测试

上一节课,我们学了线性表 单向存储结构(也就是单链表),这个是企业常用的技术,且是后面各种的基本,一定要牢牢掌握,如果没有掌握,下面的课程会云里雾里。 一 ,循环链表 1…...

初识DOM

目录 前言: 1.初识DOM: 1.1DOM树: 1.2节点(Node): 1.2.1元素节点: 1.2.2属性节点: 1.2.3文本节点: 1.3Document对象: 2.操作网页元素: 2.1找出元素: 2.1.1document.getElementById(id)&#xff1…...

计算机视觉实验五——图像分割

计算机视觉实验五——图像分割 一、实验目标二、实验内容1.了解图割操作,实现用户交互式分割,通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域,实现分割①图片准备②代码③运行结果④代码说明 2.采用聚类法实现…...

移动Web学习06-移动端适配Less预处理器项目案例

项目目标:实现在不同宽度设备中等比缩放的网页效果 Less代码 import ./base; import ./normalize;// 变量: 存储37.5 rootSize: 37.5rem; *{margin: 0;padding: 0; } body {background-color: #F0F0F0; }// 主体内容 .main {// padding-bottom: (50 / 37.5rem);pa…...

LangChain-25 ReAct 让大模型自己思考和决策下一步 AutoGPT实现途径、AGI重要里程碑

背景介绍 大模型ReAct(Reasoning and Acting)是一种新兴的技术框架,旨在通过逻辑推理和行动序列的构建,使大型语言模型(LLM)能够达成特定的目标。这一框架的核心思想是赋予机器模型类似人类的推理和行动能…...

24/04/15总结

多线程: 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位 并发:在同一时刻,有多个指令在单个cpu上交替执行 并行:在同一时刻,有多个指令在多个cpu上同时执行 多线程的实现方式 1.继承…...

vue3、vue2中nextTick源码解析

nexttick是啥 nextTick是Vue提供的一个全局API,由于Vue的异步更新策略导致我们对数据的修改不会更新,如果此时想要获取更新后的Dom,就需要使用这个方法. vue的异步更新策略意思是如果数据变化,vue不会立刻更新dom,而是开启一个队列,把组件更…...

【氮化镓】GaN HEMTs结温和热阻测试方法

文章《Temperature rise detection in GaN high-electron-mobility transistors via gate-drain Schottky junction forward-conduction voltages》,由Xiujuan Huang, Chunsheng Guo, Qian Wen, Shiwei Feng, 和 Yamin Zhang撰写,发表在《Microelectroni…...

c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (四)

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析,以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 std::…...

【状态压缩 容斥原理 组合数学】100267. 单面值组合的第 K 小金额

本文涉及知识点 状态压缩 容斥原理 组合数学 二分查找算法合集 LeetCode100267. 单面值组合的第 K 小金额 给你一个整数数组 coins 表示不同面额的硬币,另给你一个整数 k 。 你有无限量的每种面额的硬币。但是,你 不能 组合使用不同面额的硬币。 返回…...

.net框架和c#程序设计第三次测试

目录 一、测试要求 二、实现效果 三、实现代码 一、测试要求 二、实现效果 数据库中的内容&#xff1a; 使用数据库中的账号登录&#xff1a; 若不是数据库中的内容&#xff1a; 三、实现代码 login.aspx文件&#xff1a; <% Page Language"C#" AutoEventW…...

架构师系列-搜索引擎ElasticSearch(五)- 索引设计

索引创建后&#xff0c;要非常谨慎&#xff0c;创建不好后面会出现各种问题。 索引设计的重要性 索引创建后&#xff0c;索引分片只能通过_split和_shrink 接口对其进行成倍的增加和缩减。 ES的数据是通过_routing分配到各个分片上的&#xff0c;所以本质上不推荐区改变索引的…...

kafka ----修改log4j、jmx、jvm参数等

1、修改log4j 日志路径 在kafka-run-class.sh文件中修改如下配置&#xff0c;将 LOG_DIR变量指定为自己想要存储的路径 # Log directory to use if [ "x$LOG_DIR" "x" ]; thenLOG_DIR"$base_dir/logs" fi2、修改jmx参数 在kafka-run-class.s…...

Python 全栈 Web 应用模板:成熟架构,急速开发 | 开源日报 No.223

tiangolo/full-stack-fastapi-template Stars: 15.6k License: MIT full-stack-fastapi-template 是一个现代化的全栈 Web 应用模板。 使用 FastAPI 构建 Python 后端 API。使用 SQLModel 进行 Python SQL 数据库交互&#xff08;ORM&#xff09;。Pydantic 用于数据验证和设…...

STM32之DHT11温湿度传感器

目录 一 DHT11温湿度传感器简介 1.1 传感器特点 1.2 传感器特性 1.3 传感器引脚说明 二 测量原理及方法 2.1 典型应用电路 2.2 单线制串行简介 2.2.1 串行接口 (单线双向) 2.2.2 数据示例 2.3 通信时序 三 单片机简介 3.1 STM32F103C8T6最小系统板 四 接线说明 …...

paddle ocr

paddle安装教程&#xff0c;git clone xxxgit https://blog.csdn.net/Castlehe/article/details/117356343 只有paddle 1.x 的教程&#xff1a;https://github.com/PaddlePaddle/PaddleOCR/blob/static/doc/doc_en/quickstart_en.md 报错是因为安装的是paddle 2.x而教程只给了…...

Xcode 15.0 新 #Preview 预览让 SwiftUI 界面调试更加悠然自得

概览 从 Xcode 15 开始&#xff0c;苹果推出了新的 #Preview 宏预览机制&#xff0c;它无论从语法还是灵活性上都远远超过之前的预览方式。#Preview 不但可以实时预览 SwiftUI 视图&#xff0c;而且对 UIKit 的界面预览也是信手拈来。 想学习新 #Preview 预览的一些超实用调试…...

【VS2019】x64 Native Tools Command Prompt for Vs 2019使用conda命令进入环境

【VS2019】x64 Native Tools Command Prompt for Vs 2019使用conda命令进入环境 安装完VS2019后&#xff0c;打开终端x64 Native Tools Command Prompt for Vs 2019&#xff0c;直接运行conda会出现‘conda’ 不是内部或外部命令&#xff0c;也不是可运行的程序 原因分析&am…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...