Linux基础命令[20]-useradd

news2024/11/15 12:20:11

文章目录

    • 1. useradd 命令说明
    • 2. useradd 命令语法
    • 3. useradd 命令示例
      • 3.1 不加参数
      • 3.2 -d(指定家目录)
      • 3.3 -g(指定用户组)
      • 3.4 -G(指定附属组)
      • 3.5 -p(加密密码)
      • 3.6 -e(指定有效期)
      • 3.7 -r(系统用户)
      • 3.8 -u(指定 UID)
    • 4. 总结

1. useradd 命令说明

useradd:用于创建用户账号。基本信息如下:

NAME
       useradd - create a new user or update default new user information

SYNOPSIS
       useradd [options] LOGIN

       useradd -D

       useradd -D [options]

DESCRIPTION
       When invoked without the -D option, the useradd command creates a new user account using the values specified on the
       command line plus the default values from the system. Depending on command line options, the useradd command will update
       system files and may also create the new user´s home directory and copy initial files.

       By default, a group will also be created for the new user (see -g, -N, -U, and USERGROUPS_ENAB).

OPTIONS
       The options which apply to the useradd command are:

       -b, --base-dir BASE_DIR
           The default base directory for the system if -d HOME_DIR is not specified.  BASE_DIR is concatenated with the account
           name to define the home directory. The BASE_DIR must exist otherwise the home directory cannot be created.           If this option is not specified, useradd will use the base directory specified by the HOME variable in
           /etc/default/useradd, or /home by default.

       -c, --comment COMMENT
           Any text string. It is generally a short description of the login, and is currently used as the field for the user´s
           full name.

       -d, --home-dir HOME_DIR
           The new user will be created using HOME_DIR as the value for the user´s login directory. The default is to append the
           LOGIN name to BASE_DIR and use that as the login directory name.

       -D, --defaults
           See below, the subsection "Changing the default values".

       -e, --expiredate EXPIRE_DATE
           The date on which the user account will be disabled. The date is specified in the format YYYY-MM-DD.

           If not specified, useradd will use the default expiry date specified by the EXPIRE variable in /etc/default/useradd, or
           an empty string (no expiry) by default.

       -f, --inactive INACTIVE
           The number of days after a password expires until the account is permanently disabled. A value of 0 disables the
           account as soon as the password has expired, and a value of -1 disables the feature.

           If not specified, useradd will use the default inactivity period specified by the INACTIVE variable in
           /etc/default/useradd, or -1 by default.

部分参数如下:

选项作用
-b新帐户主目录的基本目录
-c新帐户的GECOS字段
-d新帐户的主目录
-D打印或更改默认用户添加配置
-e新帐户的到期日期
-f新帐户的密码失效期
-g新帐户的主组的名称或ID
-G新帐户的附属组列表
-m创建用户的主目录
-M不要创建用户的主目录
-N不要创建与用户同名的组
-p新帐户的加密密码
-r创建一个系统帐户
-u新帐户的用户ID
-U创建与用户同名的组

2. useradd 命令语法

useradd [选项] 用户

3. useradd 命令示例

3.1 不加参数

执行 useradd 命令需要管理员用户,普通用户是没有权限的,不加参数时,useradd 会直接创建新用户、新用户家目录及新用户组。

useradd tuser

在这里插入图片描述

3.2 -d(指定家目录)

-d:可以为用户指定家目录,不使用默认创建的路径。

注意:

  • 需要指定的那个目录不需要提前创建
  • 指定路径需为绝对路径
  • 切换到一个用户后,cd 可以切换到该用户的家目录
useradd -d 绝对路径 用户
[root@bogon ~]# cd /home
[root@bogon home]# ls
root2  test  tuser
[root@bogon home]# mkdir thome
[root@bogon home]# useradd -d t
test/  thome/ tuser/ 
[root@bogon home]# useradd -d thome/ tuser2
useradd: invalid home directory 'thome/'
[root@bogon home]# useradd -d /home/thome/ tuser2
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@bogon home]# useradd -d /home/thome2/ tuser2
useradd: user 'tuser2' already exists
[root@bogon home]# useradd -d /home/thome3/ tuser3
[root@bogon home]# ls
root2  test  thome  thome3  tuser
[root@bogon home]# su tuser3
[tuser3@bogon home]$ cd
[tuser3@bogon thome3]$ pwd
/home/thome3
[tuser3@bogon thome3]$ 

在这里插入图片描述

3.3 -g(指定用户组)

-g:为新建用户指定用户组,若用户组不存在会有提示。

useradd -g 用户组 用户
[root@bogon thome3]# id tuser
uid=1002(tuser) gid=1002(tuser) groups=1002(tuser)
[root@bogon thome3]# useradd -g tuser tuser3
useradd: user 'tuser3' already exists
[root@bogon thome3]# useradd -g tuser tuser4
[root@bogon thome3]# id tuser
uid=1002(tuser) gid=1002(tuser) groups=1002(tuser)
[root@bogon thome3]# id tuser4
uid=1008(tuser4) gid=1002(tuser) groups=1002(tuser)
[root@bogon thome3]# useradd -g tuser5 tuser4
useradd: group 'tuser5' does not exist
[root@bogon thome3]# 

在这里插入图片描述

3.4 -G(指定附属组)

-G:为新用户指定附属组

useradd -G 用户组 用户
[root@bogon thome3]# useradd -G tuser tuser5
[root@bogon thome3]# id tuser5
uid=1009(tuser5) gid=1009(tuser5) groups=1009(tuser5),1002(tuser)
[root@bogon thome3]# su tuser5
[tuser5@bogon thome3]$ cd
[tuser5@bogon ~]$ pwd
/home/tuser5
[tuser5@bogon ~]$ 

在这里插入图片描述

3.5 -p(加密密码)

-p:为用户添加加密密码,不是明文密码。

cat /etc/shadow

可以获得各用户加密后的密码

root:$5$nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::
mail:*:18353:0:99999:7:::
operator:*:18353:0:99999:7:::
games:*:18353:0:99999:7:::
ftp:*:18353:0:99999:7:::
nobody:*:18353:0:99999:7:::
systemd-network:!!:19803::::::
dbus:!!:19803::::::
polkitd:!!:19803::::::
libstoragemgmt:!!:19803::::::
colord:!!:19803::::::
rpc:!!:19803:0:99999:7:::
gluster:!!:19803::::::
saslauth:!!:19803::::::
abrt:!!:19803::::::
rtkit:!!:19803::::::
radvd:!!:19803::::::
chrony:!!:19803::::::
qemu:!!:19803::::::
ntp:!!:19803::::::
unbound:!!:19803::::::
tss:!!:19803::::::
sssd:!!:19803::::::
usbmuxd:!!:19803::::::
geoclue:!!:19803::::::
setroubleshoot:!!:19803::::::
pulse:!!:19803::::::
saned:!!:19803::::::
gdm:!!:19803::::::
rpcuser:!!:19803::::::
nfsnobody:!!:19803::::::
gnome-initial-setup:!!:19803::::::
sshd:!!:19803::::::
avahi:!!:19803::::::
postfix:!!:19803::::::
tcpdump:!!:19803::::::
root2:$5$nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA:19803:0:99999:7:::
test:!!:19804:0:99999:7:::
tuser:!!:19804:0:99999:7:::
tuesr:!!:19804:0:99999:7:::
tuesr2:!!:19804:0:99999:7:::
tuesr3:!!:19804:0:99999:7:::
tuser2:!!:19804:0:99999:7:::
tuser3:!!:19804:0:99999:7:::
tuser4:!!:19804:0:99999:7:::
tuser5:!!:19804:0:99999:7:::
tuser6:!!:19804:0:99999:7::18993:
tuser7:123:19804:0:99999:7::18993:
tuser8:1234:19804:0:99999:7::20006:
tuser9:.SDBXFoA9vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA:19804:0:99999:7:::
tuser10:$5$nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA:19804:0:99999:7:::

root 用户的明文密码是:123456,加密后成了 5 5 5nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA

如果使用命令:

useradd -p '$5$nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA' tuser11

tuser11 的密码就是 123456 了。

从这来看,这个参数很不好用,可以直接使用

passwd 用户

为用户设置密码。

3.6 -e(指定有效期)

测试的时候需要设置密码,就使用了 -p 参数一起。

useradd -p '$5$nW3ljdHa.SDBXFoA$89vRDJqumo41HdzmxC1ySOWZAZfjaK1YFucJkiinPmA' -e 2022-10-10 tuser11

tuser11 的密码就设置为了 123456,但是登录时会提示该用户过期了。

在这里插入图片描述

3.7 -r(系统用户)

-r:创建系统用户,UID 小于 1000,且没有家目录。系统用户一般给程序使用。

useradd -r tuser13
[root@bogon ~]# useradd -r tuser13
[root@bogon ~]# id tuser13
uid=987(tuser13) gid=981(tuser13) groups=981(tuser13)
[root@bogon ~]# cd /home/tuser13
bash: cd: /home/tuser13: No such file or directory
[root@bogon ~]# 

在这里插入图片描述

3.8 -u(指定 UID)

默认情况普通用户的 UID 是自增1的。也可以使用 -u 指定用户 UID

useradd -u 2000 tuser14
[root@bogon ~]# useradd -u 2000 tuser14
[root@bogon ~]# id tuser14
uid=2000(tuser14) gid=2000(tuser14) groups=2000(tuser14)
[root@bogon ~]# 

在这里插入图片描述

4. 总结

useradd 用于创建用户。没有特殊要求的话,

useradd 用户

就够用了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JDBC编程】Java连接MySQL的五个步骤

目录 JDBC编程 1.JDBC的使用 2.数据库连接Connection 3.Statement对象 4.ResultSet对象 JDBC编程 JDBC编程运用了MySQL提供的 Java 的驱动包 mysql-connector-java ,需要基于 Java 操作 MySQL 即需要该驱动包。同样的, 要基于 Java 操作 Oracle 数据库…

XML Data – Semi-Structured Data XML 数据 - 半结构化数据

Outline • Structured, Semistructured, and Unstructured Data • XML Hierarchical (Tree) Data Model • Extracting XML Documents from Relational Databases • XML Documents, DTD, and XML Schema • XML Languages 结构化、半结构化和非结构化数据 - XML 层次&#x…

Java最后一块石头的重量 II(力扣Leetcod1049)

最后一块石头的重量 II 力扣原题 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结…

Java学习笔记NO.24

T1.完成理工超市系统的商品类及其子类的定义&#xff0c;实现“浏览商品”及“查看商品详情”功能 &#xff08;1&#xff09;商品类 public class Goods {public String name;public double price;public int count;public String desc;public Goods(String name, double p…

C/C++代码性能优化——编程实践

1. 编程实践 在一些关键的地方&#xff0c;相应的编程技巧能够给性能带来重大提升。 1.1. 参数传递 传递非基本类型时&#xff0c;使用引用或指针&#xff0c;这样可以避免传递过程中发生拷贝。参数根据是否需要返回&#xff0c;相应加上const修饰&#xff0c;代码更安全&am…

matlab实现机器学习svm

一、目的和要求 1.编程实现SVM训练函数和预测函数&#xff1b; 2.绘制线性和非线性边界&#xff1b; 3.编写线性核函数 二、算法 1.线性svm&#xff1a; 分离超平面&#xff1a;wxb0&#xff0c;对于线性可分的数据集来说&#xff0c;这样的超平面有无穷多个&#xff08;…

局部路径规划算法 - 贝塞尔曲线法 C++ matlab

参考资料&#xff1a; &#xff08;1&#xff09;贝塞尔曲线法 &#xff08;2&#xff09;曲线杂谈&#xff08;二&#xff09;&#xff1a;Bezier曲线的特殊性质 贝塞尔曲线法 1 算法概述 1.1 算法简介 贝塞尔曲线于1962年由法国工程师皮埃尔贝塞尔&#xff08;Pierre Bzi…

(2023)mac 安装Android studio(安装jdk,Android SDK)

一、安装jdk并配置环境变量 1.下载安装jdk 网址&#xff1a;Java Downloads | Oracle 注意这里需要注册登录后才可下载。 选择下载java8&#xff0c;jdk1.8。打开安装即可。 ​ 2.配置环境变量 打开终端&#xff0c;输入java -version&#xff0c;能够看到jdk版本&#…

PyTorch深度学习:如何提升遥感影像的地物分类精度?

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

SpringBoot+Vue项目(后端项目搭建 + 添加家居)

文章目录 1.使用版本控制管理该项目1.创建远程仓库2.克隆到本地 2.后端项目环境搭建1.创建一个maven项目2.删除不必要的文件夹3.pom.xml文件引入依赖4.application.yml 配置数据源&#xff08;注意&#xff0c;数据库名还没写&#xff09;5.com/sun/furn/Application.java 编写…

java练习题目1:让用户从键盘键入长方体的长,宽,高,计算并输出它的表面积与体积

每日小语 我相信即便是一道简单的题目&#xff0c;背后也有深刻的自然规律&#xff0c;通向那最高的“道”。 即便一个晚上&#xff0c;一道题也没做出来&#xff0c;只是不断地体悟那些解法与思想。彷佛这是一趟心灵的朝圣之旅。 …

Ubuntu24.04即将发布,支持Linux内核6.8。该版本会有哪些亮点?

更多内容在 Canonical 计划 2024 年 4 月发布 Ubuntu 24.04 LTS 发行版&#xff0c;将获得长达 12 年的支持。Ubuntu 24.04 LTS&#xff0c;代号“Noble Numbat”&#xff0c;是Ubuntu发行版的最新长期支持&#xff08;LTS&#xff09;版本。12年的支持意味着你会得到 五年的维…

tinyrenderer-Bresenham绘制直线算法

如何画线段 第一种尝试 求x&#xff0c;y起始点的差值&#xff0c;按平均间隔插入固定点数 起始点平均插入100个点&#xff1a; void line(int x0, int y0, int x1, int y1, TGAImage& image, TGAColor color) {for (float t 0.; t < 1.; t .01) {int x x0 (x1 -…

2024计算机二级Python 11和12

单向列表不能再回头&#xff0c;只有从头指针开始才可以&#xff0c;双向列表会出现重复访问&#xff0c;二叉树节点从根开始可以达到目的 面向对象的主要特征&#xff1a;抽象、封装、继承、多态 Python通过解释方式执行&#xff0c;执行速度没有采用编译方式的语言执行的快 f…

Docker【docker使用】

文章目录 前言一、概念二、常用方法1.镜像2.容器 三、镜像与镜像的关系&#xff0c;以及镜像构建和管理 前言 上一篇文章讲了docker的安装&#xff0c;本片文章我们来聊聊docker的一些常用操作。以及镜像、容器之间的关系 如果你想更加系统的学习docker&#xff0c;请看【dock…

蓝桥杯(3.21 刷真题)

P8682 [蓝桥杯 2019 省 B] 等差数列 import java.util.Arrays; import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] res new int[n1];for(int i1;i<n;i)res[i] sc.ne…

elasticsearch的数据搜索

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户…

虚拟直播赋能文旅,蓝海创意云亮相文旅虚拟现实应用推广交流活动

3月21日&#xff0c;由文化和旅游部产业发展司主办&#xff0c;中国信息通信研究院、北京市石景山区文化和旅游局、中国动漫集团有限公司承办的文化和旅游虚拟现实应用推广交流活动在首钢一高炉SoReal科幻乐园33 Meta Club举办。蓝海创意云应邀参与此次活动&#xff0c;携vLive…

ON1 NoNoise AI 2024 for mac v18.2 中文版 ai摄影

ON1 NoNoise AI 2024 for mac一款去除图像噪点的应用&#xff0c;特别对于摄影师来说&#xff0c;它是比较专业的摄影降噪软件。 软件下载&#xff1a;ON1 NoNoise AI 2024 for mac v18.2 中文版下载 智能降噪&#xff1a;利用先进的机器学习技术&#xff0c;ON1 NoNoise AI 20…

第5讲-MIPS(3)汇编语言

三、MIPs汇编语言(自学) 1.概述