Linux基础命令[20]-useradd

文章目录

    • 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:用于创建用户账号。基本信息如下:

NAMEuseradd - create a new user or update default new user informationSYNOPSISuseradd [options] LOGINuseradd -Duseradd -D [options]DESCRIPTIONWhen invoked without the -D option, the useradd command creates a new user account using the values specified on thecommand line plus the default values from the system. Depending on command line options, the useradd command will updatesystem 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).OPTIONSThe options which apply to the useradd command are:-b, --base-dir BASE_DIRThe default base directory for the system if -d HOME_DIR is not specified.  BASE_DIR is concatenated with the accountname 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 COMMENTAny text string. It is generally a short description of the login, and is currently used as the field for the user´sfull name.-d, --home-dir HOME_DIRThe new user will be created using HOME_DIR as the value for the user´s login directory. The default is to append theLOGIN name to BASE_DIR and use that as the login directory name.-D, --defaultsSee below, the subsection "Changing the default values".-e, --expiredate EXPIRE_DATEThe 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, oran empty string (no expiry) by default.-f, --inactive INACTIVEThe number of days after a password expires until the account is permanently disabled. A value of 0 disables theaccount 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.mzph.cn/news/763406.shtml

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

相关文章

【WEEK4】 【DAY3】整合SSM框架之功能实现—修改、删除数据【中文版】

2024.3.20 Wednesday 接上文【WEEK4】 【DAY2】整合SSM框架之功能实现—总览、添加数据【中文版】 目录 7.6.修改功能7.6.1.修改BookController.java7.6.2.修改allBook.jsp7.6.3.新建updateBook.jsp7.6.4.修改MyBatis-config.xml7.6.5.运行 7.7.删除功能7.7.1.修改BookContro…

【数据库系统】数据库完整性和安全性

第六章 数据库完整性和安全性 基本内容 安全性;完整性;数据库恢复技术;SQL Server的数据恢复机制; 完整性 实体完整性、参照完整性、用户自定义完整性 安全性 身份验证权限控制事务日志,审计数据加密 数据库恢复 冗余…

使用python正则表达式提取RG4

lin_20240204_extract_rg4.py 1.使用正则表达式从utr,cds区域提取rG4,输出结果包括序列名称,序列内容,初始位置,终止位置,序列类型; 2.生成的文件,用于下一步计算g4score:lin_202403…

ABAP 编程中 JASON 字符中 % 百分号如何处理?

在ABAP编程中 JSON 字符串报错: parse error: Unrecognized character escape % (code 37)\n 这个错误提示表明在尝试解析的JSON字符串中有一个不被识别的转义字符 %。在JSON中,只有以下字符可以被转义: \ " / b f n r t u 四位十六进…

关于Windows 10 LTSC 2019无法安装Edge的解决方案

最近新换了Windows 10 LTSC 2019系统,使用体验干净且流畅,但是在更新Edge时遇到了问题:系统内装的是9x版本的Edge浏览器,并且提示更新错误,有system level方面的问题,查询多方后,最终在Microsof…

JavaWeb:AOP、配置优先级、Bean管理、SpringBoot原理、Maven高级

1 AOP 1.1 基本语法 面向切面编程、面向方面编程&#xff0c;面向特定方法编程 在管理bean对象的过程中&#xff0c;主要通过底层的动态代理机制&#xff0c;对特定的方法进行编程 应用&#xff1a;统计每一个业务方法的执行耗时 xml引入依赖 <!-- AOP-->&l…

音视频开发_FFmpeg基石精讲

FFmpeg 框架 核心组件 libavcodec&#xff1a;一个编解码库&#xff0c;包含了众多的编码器和解码器用于编码和解码音视频流。libavformat&#xff1a;一个封装格式库&#xff0c;用于处理各种音视频封装格式。libavutil&#xff1a;一个工具库&#xff0c;提供了常见功能的简…

牛客周赛 Round 37 E.魔法之森的蘑菇

广搜板子&#xff0c;加个方向就好了 注意多测清空问题 #include<bits/stdc.h> using namespace std; using ll long long; #define int long long const int N 1e510; const int inf 0x3f3f3f3f; const int mod 1e97;int n,m; char g[1010][1010]; bool vis[1010][1…

CI/CD实战-jenkins部署 3

安装 软件下载地址&#xff1a;Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 启动服务 安装推荐插件 不新建用户&#xff0c;使用admin账号登录 修改一下初始密码 新建项目测试 安装git命令 生成密钥 在gitlab中上传公钥 修改ssh 创建中…

智能缺陷检测系统在食品行业的应用与前景

智能缺陷检测系统在食品行业的应用日益广泛&#xff0c;其前景也呈现出积极的态势。以下是关于该系统在食品行业的应用及前景的详细分析&#xff1a; 一、智能缺陷检测系统在食品行业的应用 在食品行业的生产过程中&#xff0c;智能缺陷检测系统发挥着至关重要的作用。它可以…

蓝桥杯(3.22 刷真题)

P8682 [蓝桥杯 2019 省 B] 等差数列 RE是因为除以0的情况 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&l…

城管智慧执法系统源码有演示,自主研发,功能完善,正版授权,可商用上项目。

城管智慧执法系统源码有演示&#xff0c;自主研发&#xff0c;功能完善&#xff0c;正版授权&#xff0c;可商用上项目。 一套数字化的城管综合执法办案系统源码&#xff0c;提供了案件在线办理、当事人信用管理、文书电子送达、沿街店铺视频智能分析等功能&#xff0c;全面赋能…

laravel(源码笔记)中间件解析过程

装饰器 1. 和继承对比&#xff1a; 嵌套方式&#xff0c;可控制添加行为的方法和时机 2. 实现&#xff1a; 1. Component抽象类&#xff0c;方便动态添加职责 2. ConcreteComponent Component的实现类 3. Decorator&#xff0c;装饰器的抽象类&#xff0c;接受Component&am…

使用docker搭建Fluentd的教程

使用Docker搭建Fluentd的教程 步骤 1: 拉取Fluentd镜像 首先&#xff0c;需要从Docker Hub上拉取Fluentd的官方镜像&#xff1a; docker pull fluent/fluentd:v1.14-debian-1这里使用的是基于Debian的Fluentd 1.14版本的镜像&#xff0c;可以根据需要选择其他版本。 步骤 2…

软考 网络工程师 每日学习打卡 2024/3/22

学习内容 第9章 网络操作系统与应用服务器 本章主要讲解&#xff1a;了Windows和Linux操作系统的基础知识&#xff0c;并详细讲述了常用的各种服务器的 配置方法。这一章的内容主要是在具体操作方面&#xff0c;网络工程师要能够熟练地配置各种网络服务 器&#xff0c;排除网络…

(2024,Mamba,DiT,之字扫描与空间连续性)ZigMa:之字形 Mamba 扩散模型

ZigMa: Zigzag Mamba Diffusion Model 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 背景&#xff1a;状态空间模型 3.2 扩散主干&…

6.shell case控制语句

case控制语句 1.什么是case case条件语句相当于多分支的if/elif/else条件语句&#xff0c;主要还是用来做条件判断的,常被应用于实现系统服务启动脚本。 case语句中&#xff0c;会将case获取的变量值与表达式部分的值1、值2、值3等逐个进行比较&#xff0c;如果变量值和某个表…

【算法刷题】Day33

文章目录 1. 最长湍流子数组题干&#xff1a;算法原理&#xff1a;1. 状态表示&#xff1a;2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码&#xff1a; 2. 最长递增子序列题干&#xff1a;算法原理&#xff1a;1. 状态表示&#xff1a;2. 状态转移方程3. 初始化4. 填表顺…

Postgres正在蚕食数据库世界

PostgreSQL 不仅仅是一个简单的关系数据库&#xff1b;它是一个数据管理框架&#xff0c;有可能吞没整个数据库领域。 “一切皆用 Postgres”的趋势不再局限于少数精英团队&#xff0c;而是正在成为主流最佳实践。 OLAP 的新挑战者 PostgreSQL 生态系统中的一个重大差距是缺乏…

自学Python第二十九天-feapder框架创建爬虫

自学Python第二十九天-feapder框架创建爬虫 安装feapder 的设计架构feapder 框架的简单使用简单创建爬虫简单爬取数据简单的数据保存 中间件校验浏览器渲染使用浏览器渲染获取接口数据 feapder 项目 feapder是一款上手简单&#xff0c;功能强大的 Python爬虫框架&#xff0c;内…