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

Linux用户的添加、修改和删除以及相关配置文件:useradd、passwd、usermod、userdel、相关配置文件

目录

账户的创建(useradd)

第一步:创建账号

第二步:创建密码

useradd参考文件

CROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

UID/GID密码参数参考:/etc/login.defs

密码参数显示命令:chage

账号调整命令:usermod

删除用户命令:userdel


账户的创建(useradd)

我们在登录系统时会输入账号与密码,所以建立一个可用的账号同样需要这两个数据

账号可以使用useradd来新建

密码则使用passwd这个命令设置

第一步:创建账号

radd【-u UID】【-g 初始用户组】【-G 次要用户组】【-mM】【-c 说明栏】【-d 家目录绝对路径】【-s shell】 使用者账号名

选项与参数:

-u:后面接的是UID,是一组数字,直接指定一个特定的UID给这个账号

-g:后面接的用户组就是初始用户组,该用户组的GID会被放到/etc/passwd的第四个栏位内

-G:后面接的用户组是该账号还可以加入的用户组,这个选项与参数会修改/etc/group内相关内容

-M:强制,不要建立使用者家目录

-m:强制,要建立使用者家目录(一般账号默认值)

-c:这个就是/etc/passwd的第五栏的说明内容,可以随便我们设置

-d:指定某个目录成为家目录,而不要使用默认值,务必使用绝对路径

-r:建立一个系统的账号,这个账号的UID会有限制(参考/etc/login.defs)

-s:后面接一个shell,若没有指定则默认是/bin/bash

-e:后面接一个日期,格式为[YYYY-MM-DD]可写入shadow第八栏位,账号失效日的设置选项

-f:后面接shadow的第七栏位选项,指定密码是否会失效,0为立即失效,-1为永不失效(密码只会过期而强制与登录时重新设置而已)

使用useradd命令后,我们会发现系统其实已经帮我们规定好了很多的默认值:

  • 在/etc/passwd里面建立一行与账户相关的数据,包括建立UID/GID/家目录等
  • 在/etc/shadow里面将此账号的密码相关参数写入,但是尚未有密码
  • 在/etc/group里面加入一个与账号名称一模一样的组名
  • 在/home下面建立一个与账号同名的目录作为用户家目录,且权限为700

补充:我们可以在使用useradd命令时,可以加入-r选项用来创建系统账号,系统账号主要是用来执行系统所需服务的权限设置,所以系统账号默认都不会主动建立家目录

使用useradd建立用户账号时,其实会修改不少地方,而我们需要知道下面几个文件:

  • 用户账号与密码参数方面的文件:/etc/passwd、/etc/shadow
  • 用户用户组相关方面的文件:/etc/group、/etc/gshadow
  • 用户的家目录:/home/账号名称

第二步:创建密码

使用useradd建立账号之后,在默认情况下,该账号是暂时被锁定的。也就是说,该账号是无法登录的,所以我们需要设置密码来激活账号

passwd 【--stdin】账号名称

passwd 【-l】【-u】【--stdin】【-S】【-n 日数】【-x 日数】【-w 日数】【-i 日期】账号

选项与参数:

--stdin:可以通过来自前一个管道的数据,作为密码输入,对shell脚本有帮助

-l:是Lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效

-u:与-l相对,是Unlock的意思

-S:列出密码相关参数,即shadow文件内的大部分信息

-n:后面接天数,shadow的第四栏位,多久不可修改密码天数

-x:后面接天数,shadow的第五栏位,多久内必须要修改密码

-w:后面接天数,shadow的第六栏位,密码过期前的警告日期

-i:后面接日期,shadow的第七栏位,密码失效日期

stdin使用范例

理论上,密码最好符合如下要求:

  • 密码不能与账号相同
  • 密码尽量不要选用字典里面会出现的字符串
  • 密码需要超过8个字符
  • 密码不要使用个人信息,如身份证、手机号码等
  • 密码不要使用简单的关系式,如1+1=2等
  • 密码尽量使用大小写字符、数字、特殊字符的组合

密码上锁,使之无法登录:

密码开锁:

查看密码参数:

useradd参考文件

系统为什么会主动建立家目录?家目录内的数据来自于哪?为什么默认使用的shell是/bin/shell?为什么密码字段都已经规划好了?

因为这数据都来源于useradd参考文件

查看:

上面这些设置选项所实现的目的分别是:

CROUP=100

解释:新建账号的初始用户组使用GID为100,但我们发现我们的系统上并不是这样的,这是因为针对用户组的角度有两种不同的机制:私有用户组机制公共用户组机制

私有用户机制:系统会建立一个与账号一样的用户组给用户作为初始用户组。这种用户组的设置机制会比较有保密性,这是因为用户都有自己的用户组,而且家目录权限将会设置为700(仅有自己可进入自己的家目录)。使用这种机制将不会参考GROUP=100这个设置值,发行版有RHEL、Fedora、CentOS等

共有用户组机制:就是以GROUP=100这个设置值作为新建账号的初始用户组,因此每个账号都属于users这个用户组,且默认家目录通常的权限都是drwxr-xr-x,由于每个账号都属于users用户组,因此大家都可以互相共享家目录内的数据,代表的发行版如SUSE等

HOME=/home

解释:用户家目录的基准目录

INACTIVE=-1

解释:密码过期后是否会失效的设置值

EXPIRE=

解释:账号失效的日期

SHELL=/bin/bash

解释:默认使用的shell程序文件名

SKEL=/etc/skel

解释:用户家目录参考基准目录 即用户家目录中的各项数据都是由此目录复制过去的

CREATE_MAIL_SPOOL=yes

解释:建立用户的mailbox(邮箱),邮箱目录在/var/spool/mail/下

UID/GID密码参数参考:/etc/login.defs

文件内容:

#使用者默认邮箱放置地址
MAIL_DIR          /var/spool/mail #权限掩码
UMASK             022 #家目录权限
HOME_MODE         0700 #密码需要重新修改的天数
PASS_MAX_DAYS     99999 #密码不可被修改的天数
PASS_MIN_DAYS     0 #密码需要修改期限前的警告天数
PASS_WARN_DAYS    7 #可登录账号(普通账户)的UID范围
UID_MIN           1000
UID_MAX           60000#系统账号UID的范围
SYS_UID_MIN       201
SYS_UID_MAX       999#子UID的范围
SUB_UID_MIN       100000
SUB_UID_MAX       600100000
SUB_UID_OCUNT     65536#组GID范围
GID_MIN           1000
GID_MAX           60000#系统组GID范围
SYS_GID_MIN       201
SYS_GID_MAX       999#子GID的范围
SUB_GID_MIN       100000
SUB_GID_MAX       600100000
SUB_GID_OCUNT     65536#密码加密的机制使用的是SHA512
ENCRYPT_METHOD SHA512#删除用户时(userdel)是否删除用户的初始用户组(基本组)
USERGROUPS_ENAB yes#在不加-M或-m时,是否主动建立使用者家目录
CREATE_HOME yes
HMAC_CRYPTO_ALGO SHA512

密码参数显示命令:chage

chage 【-ldEImMW】账号名

选项与参数:

-l:列出该账号的详细密码参数

-d:后面接日期,修改shadow第三栏位(最近一次修改密码的日期),格式YYYY-MM-DD

-m:后面接天数,修改shadow第四栏位(密码最短保留天数)

-M:后面接天数,修改shadow第五栏位(密码多久需要修改)

-W:后面接天数,修改shadow第六栏位(密码过期前警告日期)

-I:后面接天数,修改shadow第七栏位(密码失效日期)

-E:后面接日期,修改shadow第八栏位(密码失效日),格式YYYY-MM-DD

账号调整命令:usermod

usermod 【-cdegGlsuLU】username

选项与参数:

-c:后面接账号的说明,即/etc/passwd第五栏的说明栏,可以加入一些账号的说明

-d:后面接账号的家目录,即修改/etc/passwd的第六栏

-e:后面接日期,格式是YYYY-MM-DD也就是在/etc/passwd内的第八个栏位的内容

-f:后面接天数,为shadow的第七栏位

-g:后面接初始用户组,修改/etc/passwd的第四个栏位,亦即是GID的栏位

-G:后面接次要用户组,修改这个使用者能够支持的用户组,修改的是/etc/group

-a:与-G合用,可增加次要用户组的支持而非设置

-l:后面接账号名称,亦即是修改账号名称,/etc/passwd的第一栏

-s:后面接shell的实际文件

-u:后面接UID数字,即/etc/passwd第三栏的数据

-L:暂时冻结密码,使之无法登录(修改了/etc/shadow的密码栏)

-U:将/etc/shadow密码栏的感叹号拿掉,解锁

删除用户命令:userdel

此命令的目的在删除用户的相关数据,而用户的数据有:

用户账号/密码相关参数:/etc/passwd、/etc/shadow

用户组相关参数:/etc/group、/etc/gshadow

用户个人文件数据:/home/username、/var/spool/mail/username

userdel 【-r】username

选项与参数:

-r:连同使用者的家目录也一起删除

使用userdel的时机通常是你确定不要让该用户在主机上面使用任何数据了,因为该账号只是暂时不启用的话,可以将/etc/shadow里面的账号失效日期设置为0就可以让该账号无法使用

相关文章:

Linux用户的添加、修改和删除以及相关配置文件:useradd、passwd、usermod、userdel、相关配置文件

目录 账户的创建(useradd) 第一步:创建账号 第二步:创建密码 useradd参考文件 CROUP100 HOME/home INACTIVE-1 EXPIRE SHELL/bin/bash SKEL/etc/skel UID/GID密码参数参考:/etc/login.defs 密码参数显示命…...

进程地址空间

目录 回顾C/C语言的程序地址空间 感性认识虚拟地址空间 虚拟地址空间与物理空间如何建立映射关系 为什么要虚拟地址空间? 回顾C/C语言的程序地址空间 在学习C/C语言时我们知道了一个概念叫程序地址空间。通俗来说就是如下一张表,从中可以得知系统的几…...

数楼梯(加强版)

数楼梯(加强版) 题目背景: 小明一天放学回家,看到从1楼到2楼共有n个台阶,因为好奇,他想尝试一下总共有几种方案到二楼?他可以1步,2步,3步的跳,不能跳3步以上. 他试了很多次都没有解决这个问题,于是请求聪明的你帮忙解决这个问题. 题目描述: 1楼到2楼楼梯有n级台阶。小明每…...

MySQL-数据类型

数据类型简介数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容。不同的数据类型也决定了 MySQL 在存储它们的时候使用的方式,以及在使用它们的时候选择什么运算符号进行运…...

剑指 Offer 32 - II. 从上到下打印二叉树 II(java解题)

剑指 Offer 32 - II. 从上到下打印二叉树 II(java解题)1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码5. 踩坑记录1. 题目 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉…...

C#网络爬虫开发

1前言爬虫一般都是用Python来写,生态丰富,动态语言开发速度快,调试也很方便但是我要说但是,动态语言也有其局限性,笔者作为老爬虫带师,几乎各种语言都搞过,现在这个任务并不复杂,用我…...

Fastjson 总结

0x00 前言 这一篇主要是针对已经完成的fastjson系列做一个知识点总结,一来是为了更加有条理的梳理已经存在的内容,二来是为了更好的复习和利用。 0x01 Fastjson基础知识点 1.常见问题: 问:fastjson的触发点是什么?…...

文件路径模块os.path

文件路径模块os.path 文章目录文件路径模块os.path1.概述2.解析路径2.1.拆分路径和文件名split2.2.获取文件名称basename2.3.返回路径第一部分dirname2.4.扩展名称解析路径splitext2.5.返回公共前缀路径commonprefix3.创建路径3.1.拼接路径join3.2.获取家目录3.3.规范化路径nor…...

Kerberos简单介绍及使用

Kerberos作用 简单来说安全相关一般涉及以下方面:用户认证(Kerberos的作用)、用户授权、用户管理.。而Kerberos功能是用户认证,通俗来说解决了证明A是A 的问题。 认证过程(时序图) 核心角色/概念 KDC&…...

DOM编程-全选、全不选和反选

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>全选、全不选和反选</title> </head> <body bgcolor"antiquewhite"> <script type"text/jav…...

C++11可变模板参数

C11可变模板参数一、简介二、语法三、可变模版参数函数3.1、递归函数方式展开参数包3.2、逗号表达式展开参数包一、简介 C11的新特性–可变模版参数&#xff08;variadic templates&#xff09;是C11新增的最强大的特性之一&#xff0c;它对参数进行了高度泛化&#xff0c;它能…...

Linux多线程

目录 一、认识线程 1.1 线程概念 1.2 页表 1.3 线程的优缺点 1.3.1 优点 1.3.2 缺点 1.4 线程异常 二、进程 VS 线程 三、Linux线程控制 3.1 POSIX线程库 3.1 线程创建 3.3 线程等待 3.4 线程终止 3.4.1 return退出 3.4.2 pthread_exit() 3.4.3 pthread_cancel…...

Webpack5 环境下 Openlayers 标注(Icon) require 引入图片问题

Webpack5 环境下 Openlayers 标注&#xff08;Icon&#xff09; require 引入图片问题环境版本Openlayers 使用 require 问题Webpack5 正确配置构建新环境的时候&#xff0c;偶然发现 Openlayers 使用 require 的方式加载图片&#xff08;Icon&#xff09;报错&#xff0c;开始…...

Zookeeper安装部署

文章目录Zookeeper安装部署Zookeeper安装部署 将Zookeeper安装包解压缩&#xff0c; [rootlocalhost opt]# ll 总用量 14032 -rw-r--r--. 1 root root 12392394 10月 13 11:44 apache-zookeeper-3.6.0-bin.tar.gz drwxrwxr-x. 6 root root 4096 10月 18 01:44 redis-5.0.4 …...

Cow Acrobats ( 临项交换贪心 )

题目大意&#xff1a; N 头牛 &#xff0c; 每头牛有一个重量(Weight)和一个力量(Strenth) &#xff0c; N头牛进行排列 &#xff0c; 第 i 头牛的风险值为其上所有牛总重减去自身力量 &#xff0c; 问如何排列可以使最大风险值最小 &#xff0c; 求出这个最小的最大风险值&am…...

MySQL:为什么说应该优先选择普通索引,尽量避免使用唯一索引

前言 在使用MySQL的过程中&#xff0c;随着表数据的逐渐增多&#xff0c;为了更快的查询我们需要的数据&#xff0c;我们会在表中建立不同类型的索引。 今天我们来聊一聊&#xff0c;普通索引和唯一索引的使用场景&#xff0c; 以及为什么说推荐大家优先使用普通索引&#xf…...

Spring Cloud alibaba之Feign

JAVA项目中如何实现接口调用&#xff1f;HttpclientHttpclient是Apache Jakarta Common下的子项目&#xff0c;用来提供高效的、最新的、功能丰富的支持Http协议的客户端编程工具包&#xff0c;并且它支持HTTP协议最新版本和建议。HttpClient相比传统JDK自带的URL Connection&a…...

零信任-Google谷歌零信任介绍(3)

谷歌零信任的介绍&#xff1f; "Zero Trust" 是一种网络安全模型&#xff0c;旨在通过降低网络中的信任级别来防止安全威胁。在零信任模型中&#xff0c;不论请求来自内部网络还是外部网络&#xff0c;系统都将对所有请求进行详细的验证和审核。这意味着每次请求都需…...

Numpy基础——人工智能基础

文章目录一、Numpy概述1.优势2.numpy历史3.Numpy的核心&#xff1a;多维数组4.numpy基础4.1 ndarray数组4.2 内存中的ndarray对象一、Numpy概述 1.优势 Numpy(Nummerical Python),补充了Python语言所欠缺的数值计算能力&#xff1b;Numpy是其它数据分析及机器学习库的底层库&…...

电商仓储与配送云仓是什么?

仓库是整个供给链的关键局部。它们是产品暂停和触摸的点&#xff0c;耗费空间和时间(工时)。空间和时间反过来也是费用。经过开发数学和计算机模型来微调仓库的规划和操作&#xff0c;经理能够显著降低与产品分销相关的劳动力本钱&#xff0c;进步仓库空间应用率&#xff0c;并…...

【零基础入门前端系列】—HTML介绍(一)

【零基础入门前端系列】—HTML介绍&#xff08;一&#xff09; 一、什么是HTML HTML是用来描述网页的一种语言HTML指的是超文本标记语言&#xff1a;HyperText Markup LanguageHTML不是一种编程语言&#xff0c;而是一种超文本标记语言&#xff0c;标记语言是一套标记标签(ma…...

Elasticsearch索引库和文档的相关操作

前言&#xff1a;最近一直在复习Elasticsearch相关的知识&#xff0c;公司搜索相关的技术用到了这个&#xff0c;用公司电脑配了环境&#xff0c;借鉴网上的课程进行了总结。希望能够加深自己的印象以及帮助到其他的小伙伴儿们&#x1f609;&#x1f609;。 如果文章有什么需要…...

使用Python,Opencv检测图像,视频中的猫

使用Python&#xff0c;Opencv检测图像&#xff0c;视频中的猫&#x1f431; 这篇博客将介绍如何使用Python&#xff0c;OpenCV库附带的默认Haar级联检测器来检测图像中的猫。同样的技术也可以应用于视频流。这些哈尔级联由约瑟夫豪斯&#xff08;Joseph Howse&#xff09;训练…...

浅谈域名和服务器集约化管理的误区

一个正常的网站通常由域名、网站程序、服务器三个部分组成&#xff0c;网站程序由单位开发设计&#xff0c;而域名和服务器则需要租用购买&#xff0c;那么域名和服务器之间的关系是什么&#xff1f;如何实现域名和服务器的有效管理呢&#xff1f; 服务器和域名的关系 服务器…...

迪赛智慧数——柱状图(正负条形图):20212022人才求职最关注的因素

效果图从近两年职场跳槽方向看&#xff0c;相比此前人们对高薪大厂趋之若鹜&#xff0c;如今职场人更关注业务前景。根据相关数据显示&#xff0c;职场人求职最关注的因素中&#xff0c;“薪资福利”权重下降&#xff0c;“个人发展”权重上升&#xff0c;“业务前景”首次进入…...

网络安全-黑帽白帽红客与网络安全法

网络安全-黑帽白帽红客与网络安全法 本章内容较少&#xff0c;因为刚开端。 黑客来源于hacker 指的是信息安全里面&#xff0c;能够自由出入对方系统&#xff0c;指的是擅长IT技术的电脑高手 黑帽黑客-坏蛋&#xff0c;研究木马的&#xff0c;找漏洞的&#xff0c;攻击网络或者…...

Xpath元素定位之同级节点,父节点,子节点

XPath学习:轴(8)——following-siblingXPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素&#xff0c;并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。推荐一个挺不错的网站&#xff1a;htt…...

华为OD机试 - 挑选字符串(Python)| 真题+思路+代码

挑选字符串 题目 给定 a-z,26 个英文字母小写字符串组成的字符串 A 和 B, 其中 A 可能存在重复字母,B 不会存在重复字母, 现从字符串 A 中按规则挑选一些字母可以组成字符串 B 挑选规则如下: 同一个位置的字母只能挑选一次, 被挑选字母的相对先后顺序不能被改变, 求最…...

python笔记-- “__del__”析构方法

-#### 1、基本概念&#xff08;构造函数与析构函数&#xff09; 特殊函数&#xff1a;由系统自动执行&#xff0c;在程序中不可显式地调用他们 构造函数&#xff1a; 建立对象时对对象的数据成员进行初始化&#xff08;对象初始化&#xff09; 析构函数&#xff1a; 对象生命期…...

支付系统核心架构设计思路(万能通用)

文章目录1. 支付系统总览核心系统交互业务图谱2. 核心系统解析交易核心交易核心基础交易类型抽象多表聚合 & 订单关联支付核心支付核心总览支付行为编排异常处理渠道网关资金核算3. 服务治理平台统一上下文数据一致性治理CAS校验幂等 & 异常补偿对账准实时对账DB拆分异…...

百度小程序客服电话/站长工具seo综合

仅作为记录&#xff0c;大佬请跳过。 感谢大佬博主们&#xff1a; 文字转语音 github-asr_json 语音转文字 &#xff08;附带guihub-chr_to_mp3&#xff09; github-yuyin 百度api官方 百度云接入指南 百度云 百度云登录 guihub的python代码...

在线做数据图的网站有哪些/郴州seo外包

a、第一步&#xff0c;找环中相汇点。分别用fast&#xff0c;slow指向链表头部&#xff0c;slow每次走一步&#xff0c;fast每次走二步&#xff0c;直到fastslow找到在环中的相汇点。 b、第二步&#xff0c;找环的入口。接上步&#xff0c;当fastslow时&#xff0c;fast所经过节…...

乐山北京网站建设/seo手机端优化

移动、联通、电信版P6均可成功的EMUI3.0开发版/稳定版 ROOT... - P6/P6s 花粉俱乐部 http://cn.club.vmall.com/forum.php?modviewthread&tid1710032&extrapage%3D4%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline 华为 Ascend P6 联通版首个真正意义的…...

做网站难吗 挣钱吗/百度做网站

最近遇到一个问题&#xff1a;服务器被全球的IP频繁试图通过ssh登录。 于是想到通过iptables防火墙限制访问&#xff0c;达到&#xff1a;仅允许指定ip段访问ssh服务(22端口)。 关于iptables添加规则的文章有很多&#xff0c;而鲜有介绍规则之间的顺序。因此希望通过这篇文章介…...

做柜子好的设计网站/关键词挖掘工具站

本文是一篇从合天网安实验室进行实验操作的笔记&#xff0c;一次非常简单地从JS中获取到flag的操作。实验地址&#xff1a;实验:简单的JS(合天网安实验室)​www.hetianlab.com1. 进入题目页(10.1.1.219:20123)看到一段话&#xff0c;还有一句很明显的提示语句“The evil url is…...

手把手教做网站/市场调研分析报告怎么写

ClassLoad类加载器读取ClassPath路径下的配置文件并完成创建JDBC链接&#xff08;二&#xff09; 一项目描述 1、通过ClassLoad类加载器读取配置文件的方式&#xff0c;实现创建JDBC链接数据库 2、读取配置文件的方法是一个工厂方法&#xff0c;返回一个 Connection类型链接的…...