Linux 用户和组

  • 理解Linux 用户和组的概念
  • 掌握passwd 文件的组成以及作用
  • 掌握shadow 文件的组成以及作用
  • 了解group 文件的内容

1.用户分类:

  • 超级管理员(root)
  • 普通用户
  • 程序用户

1.用户信息文件

/etc/passwd 文件中存储了所有用户信息。

1.passwd 格式

该文件每一行是一个用户信息,并且以: 为分隔符,一共7 段内容。

root:x:0:0:root:/root:/bin/bash
[--] - - - [--] [---] [--------]
 |   | | |   |    |        |
 |   | | |   |    |        +-> 7. Login shell
 |   | | |   |     +---------> 6. Home directory
 |   | | |   +---------------> 5. GECOS
 |   | | +-------------------> 4. GID
 |   | +---------------------> 3. UID
 |   +-----------------------> 2. Password
 +---------------------------> 1. Username

/etc/passwd文件中,排位代表:
[用户名]、[口令]、[uid]、[组id]、[备注]、[家目录]、[登录shell]

字段序号

示例

解释

说明

1

root

用户名

2

x

密码占位符

用户的密码
x代表有密码
无内容,用户登录系统无需密码

3

0

UID

当前用户的身份标识
0 就是超级管理员

4

0

GID

当前用户的基本组ID

5

root

用户的身份信息
大名

现已废弃

6

/root

用户家目录

超管:/root
普通用户:/home/用户名

7

/bin/bash

用户登录系统后
(默认)命令解释器

/sbin/nologin 不允许登录系统  
/bin/sh

[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@localhost ~]#

2.用户分类

用户分类

UID

普通用户

> 1000

程序用户

1 - 1000

超级管理员用户

0

1.用户密码文件

/etc/shadow 记录了系统中用户的密码信息。

2.shadow 格式

该文件每一行记录一个用户的密码信息,并且以: 作为分隔符,一共9 段内容。
可以尝试修改root 密码。

root:$6$.IOzaCZc$f.u0fVe5QZb0mhm6UZvjcfa.un7vRXw8frfyoURLrOHmo7JsTI40a/iaQuHm/uCFqRuljfAyBCJDvOk7ZsCEM.:18765:0:99999:7:::

passwd root

root:$6$T07ge8Py$.tZXOZIOpWq2sGZKEkKn2KMahL.mcyNrQrd3C3PIqNt8kA0p/K3JtG4Dwn4vyU2kSvyEg1K2xArTs61AG1Qo1/:18766:0:99999:7:::

字段序号

示例

含义

说明

1

root

用户名

2

$6$T07ge8

密码密文

sha-512 HASH 散列算法
salt 值  
加密后的密文

3

18766

密码修改时间

距离1970 年1 月1 日
密码最近一次的修改时间(天)

4

0

密码最短有效期

在最短有效期之内不能修改密码
3:三天之内不可以修改自己的密码
root 用户不受此限制

5

99999

密码最长有效期

密码可以使用多长时间
建议设置成90

6

7

密码过期时间

密码过期前7 天会有警告提示

7

密码的不活跃期

过了密码有效期没有修改密码,
处于不活跃期,仍然可以登录系统。

8

账户失效时间

密码距离1970 年1 月1 日的失效时间(天)

9

未分配功能


|             正常登录系统            |          仍然可以登录系统    |
0  用户不能修改密码  3 用户可以修改密码 83  提示修改密码 90   登录     |   密码锁定
|-------------------|----------------|----------------|------------|-------------->
^                   ^                ^                ^            ^
密码修改时间    密码最短有效期     密码过期时间     密码最长有效期  密码不活跃期

在/etc/shadow文件中,排位代表:
[用户名]、[密码口令]、[上次更改密码时间]、[最小修改密码时间间隙]、[密码有效期]、[密码需要变更前的警告天数]、[密码有效期]、[密码过期后的宽限天数]、[账户失效时间]、[保留]

3.shadow 爆破

1.密码密文:

$6$T07ge8Py$.tZXOZIOpWq2sGZKEkKn2KMahL.mcyNrQrd3C3PIqNt8kA0p/K3JtG4Dwn4vyU2kSvyEg1K2xArTs61AG1Qo1/

$id$salt$encrypted

$加密方式$盐值(随机的)$密码密文

2.密码密文加密方式:

man crypt

密码学: 
(安全性取决于密钥,算法公开的)

密文  = 密码算法 (明文,盐值)

- 密码算法
	对称加密(加密密钥与解密密钥一样)
	非对称加密(加密密钥与解密密钥不一样)
	Hash 算法
		陷门算法
		单项运算
- 密码体制
	明文
	加密算法
	加密密钥
	解密算法
	解密密钥
	密文

解密算法

import crypt
crypt.crypt("123456","$6$T07ge8Py$")
循环算法

3.shadow 文件爆破原理:穷举与枚举

[root@localhost ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
>>> crypt.crypt("123.com","$6$T07ge8Py")
               //密码    //加上盐值与加密算法(加盐值防碰撞)
'$6$T07ge8Py$3/./MkHtBbziE5UiB/PvR0vkcwtvCoV0G2uYuFfIpbDleXrPJ0BPPNkFZfOY1iTsap.pdxaMrkyXJ/jQ5nxiH0'
>>> crypt.crypt("123456","$6$T07ge8Py")
'$6$T07ge8Py$JFrusYYpGVwWWiqt99Zjs1SJ6h0k.68kigzB5RIswP64SvGeGTY5MlpSwuThUw3dPKcUT214xnReGwPvlbjU41'
>>>

4.组信息文件

/etc/group 保存了组信息。

5.group 格式

该文件的每一行记录了每一个组的信息,并且以: 作为分隔符,一共4 段内容。

caliy:x:1000:caliy

字段数

示例

含义

说明

1

caliy

组名

用户组的名称,由字母或数字构成。

2

x

密码

x 是密码标识,组密码默认保存在 /etc/gshadow 文件中。

3

1000

GID

Group ID

4

caliy

群组用户

6.组与用户

先有组,再有用户

  • 用户必须有且只有一个基本组
  • 当创建一个用户时,如果没有指定基本组,会先创建一个与该用户同名的组,再创建用户。

     

一个用户可以有多个附加组。
基本组内没有任何用户,才能被删除。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python中中英文打印对齐解决方案

在python中,有时候会出现中英文混合输出的情形,但是由于中文默认是全角格式(一个中文字符占用两个字符宽度),这会对python原生的print函数带来一些障碍。尤其是用户用print对齐输出的时候,这种差异会导致文…

月球地形数据介绍(LOLA)

月球地形数据介绍 LOLA介绍LOLA数据的处理与发布数据类型和格式投影坐标系SIMPLE CYLINDRICALPOLAR STEREOGRAPHIC 数据下载与浏览 LOLA介绍 目前最新的月球地形高程数据来源于美国2009年发射的LRO探测器。 “月球勘测轨道器”(Lunar Reconnaissance Orbiter,LRO)…

文心一言 VS 讯飞星火 VS chatgpt (240)-- 算法导论17.3 6题

六、证明:如何用两个普通的栈实现一个队列(练习10.1-6),使得每个 ENQUEUE 和 DEQUEUE 操作的摊还代价为 O(1) 。练习10.1-6的内容是:说明如何用两个栈实现一个队列,并分析相关队列操作的运行时间。如果要写代码,请用go…

【MIT6.824】lab2C-persistence, lab2D-log compaction 实现笔记

引言 lab2C的实验要求如下 Complete the functions persist() and readPersist() in raft.go by adding code to save and restore persistent state. You will need to encode (or “serialize”) the state as an array of bytes in order to pass it to the Persister. Us…

el-table使用show-summary合计,但只需要合并某一列

el-table使用show-summary合计,但只需要合并某一列 这里有两种方法,一种是网上的,我会引用他的链接给你们看。 一种是我自己看源码发现的 方法一 这个就是方法一的链接 点击我跳转方法一 方法二 不需要计算的列 去掉prop 然后用插槽显示即可…

比特币叙事大转向

作者:David Lawant 编译:秦晋 要理比特币解减半动态,最关键的图表是下面这张,而不是价格图表。它显示了自 2012 年以来,矿业总收入与比特币现货交易量的比例,并标注了三个减半日期。 虽然矿工仍然是比特币生…

Python八股文:基础知识Part2

1. Python中变量的保存和访问 Python中的变量实际上是一个指向对象的引用,每个对象都有一个唯一的标识符(即内存地址)。对于一些不可变对象,如字符串和整数,因为它们的值不可更改,所以当多个变量引用相同的…

OSPF大型实验

OSPF大型实验 实验拓扑图 实验思路 1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP; 2、R3-R5、R6、R7为MGRE环境,R3为中心站点; 3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两…

Java精品项目--第8期基于SpringBoot的宠物用品商城的设计分析与实现

项目使用技术栈 SpringBootThymeleafMyBatisMySQLAopJavajdk1.8 项目介绍 项目截图

JAVA 集合框架(一) Collection集合详解和常用方法

Java集合框架(Java Collections Framework)是一个强大的、高度灵活的数据结构库,它为Java应用程序提供了组织、存储和操作对象集合的标准方法。 集合类体系结构 接口类: Collection: 是单例集合类的顶层接口,包括Lis…

移动端适配之viewport

目录 盒模型:widthcontent(padding border) class"content-box"内容盒模型(W3C盒) class"border-box"边框盒模型(IE 盒) scroll滚动 window浏览器视窗:包括…

MySQL高级(索引-性能分析-explain执行计划)

explain 或者 desc 命令获取 MySQL 如何执行 select 语句的信息,包括在 select 语句执行过程中表如何连接和连接的顺序。 -- 直接在 select 语句之前加上关键字 explain / desc explain select 字段列表 from 表名 where 条件 ; explain select * …

自养号测评:如何提高国际站,敦煌网的店铺销量?

随着互联网技术的迅猛进步,电子商务已经成为现代商业领域中不可或缺的一环。敦煌网,作为专注于中国文化艺术产品的电商平台,成功吸引了大量消费者的目光。然而,对于商家而言,如何进一步提升敦煌网的销售业绩&#xff0…

用这些工具搭建企业内部知识库,原来这么轻松

在快速发展和信息爆炸的时代,为企业构建一个内部知识库变得十分重要。它不仅有助于保存关键信息,促进知识传承,还能提高企业的整体效率和响应能力。今天,我们将探讨三款非常适合搭建企业内部知识库的工具,它们各具特色…

Python教学入门:流程控制

条件语句(if 语句): 条件语句用于根据条件的真假执行不同的代码块。 x 10if x > 0: # 如果 x 大于 0print("x 是正数") # 输出:x 是正数 elif x 0: # 如果 x 等于 0print("x 是零") else: # 如果以…

第07-1章 计算机网络相关概念

7.1 本章目标 了解网络协议的概念了解网络体系结构熟悉ISO/OSI参考模型以及每一层的功能掌握TCP/IP模型各层的主要协议及其功能熟练掌握IP地址、子网规划等相关内容 7.2 网络协议的概念 7.2.1 概念介绍 (1)网络协议:计算机网络和分布系统中…

Java 笔试强训篇- Day1

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 点击消除 1.1 解题思路一 1.2 解题思路二 2.0 在两个数组中找出相同的数 2.1 解题思路 笔试强训说明:有一些题目提供不了原题。 1.0 点击消除 该题链…

初学python记录:力扣1883. 准时抵达会议现场的最小跳过休息次数

题目: 给你一个整数 hoursBefore ,表示你要前往会议所剩下的可用小时数。要想成功抵达会议现场,你必须途经 n 条道路。道路的长度用一个长度为 n 的整数数组 dist 表示,其中 dist[i] 表示第 i 条道路的长度(单位&…

Redis之路系列(2)纸上得来终觉浅(上)

02 纸上得来终觉浅(上) 文章内容基于redis6,本章节介绍了redis的实际应用,主要包含:大量键值对保存的案例场景,海量key时的聚合计算、排序计算、状态统计、基础统计的应用 大量键值对保存 场景案例 有这么一个需求场景&#xff…

OpenSearch的几种认证

在Amazon OpenSearch Service中,主用户的配置可以通过三种方式进行:用户名和密码组合、IAM角色,以及通过第三方联合登录。这样的配置授权主用户在OpenSearch仪表板上进行内部用户、角色和角色映射的创建。需要注意的是,OpenSearch…
最新文章