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

时时彩平台网站建设/杭州百度人工优化

时时彩平台网站建设,杭州百度人工优化,站酷设计网站首页,空间制作网站目录 用户标识符:UID与GID 用户账号 /etc/passwd文件结构 1、账号名称 2、密码 3、UID 4、GID 5、用户信息说明栏 6、家目录 7、shell /etc/shadow文件结构 1、账号名称 2、密码 3、最近修改密码的日期 4、密码不可被修改的天数(与第三字…

目录

用户标识符:UID与GID

用户账号

/etc/passwd文件结构

1、账号名称

2、密码

3、UID

4、GID

5、用户信息说明栏

6、家目录

7、shell

/etc/shadow文件结构 

1、账号名称

2、密码

3、最近修改密码的日期

4、密码不可被修改的天数(与第三字段相比)

5、密码需要重新修改的天数(与第三字段相比)

6、密码需要修改期限前的警告天数(与第五字段相比)

7、密码过期后的账号宽限时间(密码失效日)(与第五字段相比)

8、账号失效日期

9、保留

关于用户组:有效与初始用户组,groups,newgr

/etc/group文件结构

1、组名

2、用户组密码

3、GID

4、此用户组支持的账号名称

有效用户组(effective group)与初始用户组(initial group)

groups:有效与支持用户组的观察 

 newgrp:有效用户组的切换

/etc/gshadow


用户标识符:UID与GID

其实Linux主机并不会直接认识你的账号名称,它仅认识ID(ID就是一组号码)。由于计算机智认知0和1,所以主机对于数字比较有概念,而账号只是为了让人们容易记忆而已,我们的ID与账号的对应就在/etc/passwd中

我们知道,一个文件的属性中有拥有人与拥有人组这两个属性,所以每个登录的用户至少会获取两个ID,一个是用户ID(UID),一个是用户组ID(GID)

所以文件判断拥有者与用户组就是依据这两个ID来进行判断的,当我们要显示文件属性时,系统会根据/etc/passwd与/etc/group的内容来找到UID与GID对应的账号与组名再显示出来

下述例子仅说明UID与账号的对应性

系统中redhat的UID与GID都是1000,它们的关系就是redhat对应的UID为1000

 

此时我们将/etc/passwd中将用户的UID改为2000

你会发现该文件的拥有者就变成了数字

在正常运行的Linux主机环境下,上面的操作不可以随意进行,因为系统上面已经有很多的数据被建立存在了,随意修改系统上某些账号的UID会导致某些程序无法运行,甚至导致系统无法顺利运行——因为权限的问题。上述例子中,我们如果没有将2000改回来会导致redhat下次登录时将没有办法进入自己的家目录,因为它的UID已经改为2000,但是它的家目录却记录的是1000,由于权限为700,因此它将无法进入原本的家目录

用户账号

你输入账号密码后,系统做了哪些处理?

1、先查找/etc/passwd里面是否有你输入的账号,没有则退出,有则将该账号对应的UID与GID(/etc/group)读出来,另外该账号的家目录与shell设置也一并读出

2、再核对密码表,这是Linux会进入/etc/shadow中找出对应账号与UID,然后核对一下你输入的密码是否相符

3、上面一切OK则进入shell管理的阶段

跟用户账号有关的有两个非常重要的文件,一个是管理用户UID与GID重要参数的/etc/passwd,另一个则是专门管理密码相关数据的/etc/shadow

很多程序的运行都与权限有关,而权限与UID和GID有关。因此各程序都需要读取/etc/passwd来了解不同账号的权限,因此我们/etc/passwd的权限需设置为-rw-r--r--这样

/etc/passwd文件结构

文件内容构造:每一行代表一个账号,有几行则代表几个账号在你的系统中,但是里面很多账号本来就是系统正常运行所需要的,我们简称它为系统账号,例如bin、daemon、adm等,这些账号不可随意删除

查看:vim /etc/passwd

 root为系统管理员,我们可以看出每一行中都有:来相互分隔开,因此一行中共有七个东西

1、账号名称

就是账号,提供给对数字不敏感的我们用来登录系统的,需要用来对应UID

2、密码

早期UNIX系统的密码就放于此字段上,后来由于这个文件的特性是所有程序都能读取导致容易造成密码数据被窃取,所以就将这个字段的密码数据改放到/etc/shadow中去了,因此我们在这里只能看到一个【x】

3、UID

用户标识符,通常Linux对于UID有几个限制,我们可以了解一下

4、GID

这个与/etc/group有关,其实/etc/group的概念与/etc/shadow差不多,只是它是用来规范组名与GID的对应而已

5、用户信息说明栏

用来解释这个账号的意义而已,如果你使用finger的功能时,这个字段可以提供很多信息(可以了解一下chfn命令)

6、家目录

这就是用户的家目录,我们可以看到每个账号的家目录位置,所以我们使用各个用户登录时,会立刻跑到每个用户的家目录里面。所以当我们想要把家目录进行移动时,就可以在这个字段进行修改,默认的用户家目录在/home/yourIDname

7、shell

当用户登录后会获取一个shell来与系统的内核沟通以进行用户的操作任务,那为何默认shell会使用bash呢?就是在这个字段指定的,这里比较需要注意的是,有一个shell可以使账号在登录时无法获取shell环境,那就是/sbin/nologin这个东西。这也可以用来制作纯pop邮件账号的数据

/etc/shadow文件结构 

基本上shadow同样以:来作为分隔符,所以每一行共有九个字段,这九个字段的用途是这样的

1、账号名称

密码也需要与账号对应,所以第一栏为账号且必须与/etc/passwd相同才行

2、密码

这个字段内的数据才是密码,而且是经过编码的密码,这些密码很难破解,但不代表不会,所以它的权限为-rw-------或----------,即只有root才可以读写,所以我们得注意,不要随意修改这个权限

由于固定的摘要算法产生的密码是特定的,因此当修改这个字段后,该密码就会失效(算不出来)。很多软件通过这个功能,在此字段前加上!或*修改密码字段,就会让密码暂时失效

3、最近修改密码的日期

记录了密码修改那一天的日期,我们可以看到bin那栏中的日期为18849呢?这是因为计算Linux是以1970年1月1日作为1而累加的日期,1971年1月1日就是366

4、密码不可被修改的天数(与第三字段相比)

记录了账号的密码在最近一次修改后需要经过几天才能再次修改,如果是0则表示可以随时修改

5、密码需要重新修改的天数(与第三字段相比)

经常修改密码是个好习惯,为了强制修改密码,这个字段可以指定最近一次更改密码后需要在多少天数内再次修改才行。你必须在这个天数内重新设置你的密码,否则这个密码将会变为过期特性,如果是99999(计算为273年)的话,那就表示密码的修改没有强制性

6、密码需要修改期限前的警告天数(与第五字段相比)

当账号密码有效期限快要到的时候(第五字段),系统会根据这个字段的设置,发出警告信息给这个账号,提醒它再过n天你的密码就要过期

7、密码过期后的账号宽限时间(密码失效日)(与第五字段相比)

密码有效期为更新日期+重新修改日期,过了该期限后用户依旧没有更新密码,那该密码就过期了,虽然密码过期了,但是该账号还是可以用来执行其他任务,包括重新登录系统获取bash。不过如果密码过期了,那当你登录系统时,系统会强制你必须重新设置你的密码才能继续登录使用,这就是密码过期特性

8、账号失效日期

这个日期与第三字段相同,都是采用1970年以来的天数的总天数,这个字段表示这个账号在此字段规定的日期之后无法再使用,这个字段通常都是在收费服务系统中

9、保留

最后一个字段为保留,看以后有没有新功能加入

关于用户组:有效与初始用户组,groups,newgr

/etc/group文件结构

 该文件也是以:来作为分隔符,共分为四栏

1、组名

用来供人使用,基本上与第三字段的GID对应

2、用户组密码

通常不需要设置,这个设置一般是给用户组管理员用的,目前很少有机会设置用户组管理员。同样密码以及移动到了/etc/shadow中,所以我们只能看到【x】

3、GID

用户组ID,我们/etc/passwd第四个字段使用的GID对应的用户组名,就是由这里对应出来的

4、此用户组支持的账号名称

一个账号可以加入多个用户组中,如果某个账号想要加入此用户组时,将该账户填入这个字段即可(账号之间用逗号隔开,不要有空格),如果一个账号的初始用户组为此用户组,则此账号不写入此字段,例如root的初始用户组为root用户组并且root用户组中只有root用户,所以此字段没有数据

有效用户组(effective group)与初始用户组(initial group)

每个用户在它的/etc/passwd中都有一个GID,这个GID就是所谓的初始用户组,也就是说,用户一登录系统就会立刻拥有这个用户组的相关权限

我么给redhat用户新增加一个次要用户组

此时我们redhat账号同时支持redhat与users这两个用户组,但当我创建一个新目录或文件时,新文件的用户组为哪个?所以这时候就需要理解有效用户组了

groups:有效与支持用户组的观察 

我们以redhat用户身份登录后,就可以用groups命令来查看我们所有支持的用户组了

第一个输出的用户组即为有效用户组,所以我此时去建立一个新文件的话,拥有者与用户组都为redhat

 newgrp:有效用户组的切换

我们可以使用newgrp来修改有效用户组,但是newgrp是有限制的,即切换的用户组必须是已有支持的用户组

需要注意的是,记得退出newgrp的环境,因为这个命令是以一个shell来提供这个功能,就是说redhat目前是以另一个shell登录的,并且这个shell中redhat的有效用户组为users,虽然用户的环境设置不会有影响,但是用户的用户组权限将会重新计算,所以我们需要使用完newgrp后需要退出到原来的shell环境(有效用户组会改回redhat) 

加入用户组有两种方式:一种是系统管理员利用usermod帮你加入;另一种是用户组管理员以gpasswd帮你加入他所管理的用户组中

/etc/gshadow

 四个字段的意义为:

  1. 组名
  2. 密码栏,同样的,开头为!表示无合法密码,所以无用户组管理员
  3. 用户组管理员的账号
  4. 有加入该用户组支持的所属账号(与/etc/group内容相同)

以系统管理员来说,gshadow最大的功能就是建立用户组管理员,该用户组管理员可以将其他账号加入到自己管理的用户组中来减轻root用户的任务(这个功能已经很少使用了)

相关文章:

Linux账号与用户组

目录 用户标识符:UID与GID 用户账号 /etc/passwd文件结构 1、账号名称 2、密码 3、UID 4、GID 5、用户信息说明栏 6、家目录 7、shell /etc/shadow文件结构 1、账号名称 2、密码 3、最近修改密码的日期 4、密码不可被修改的天数(与第三字…...

有趣的Hack-A-Sat黑掉卫星挑战赛——定位卫星Jackson

国家太空安全是国家安全在空间领域的表现。随着太空技术在政治、经济、军事、文化等各个领域的应用不断增加,太空已经成为国家赖以生存与发展的命脉之一,凝聚着巨大的国家利益,太空安全的重要性日益凸显[1]。而在信息化时代,太空安…...

JAVA集合专题3 —— vector + LinkedList + Set

目录vector的特点LinkedList底层结构模拟双向链表比较ArrayList和LinkedListSet接口基本介绍Set接口的遍历方式Set接口实现类对象的特点Set接口实现类HashSet模拟HashSet/HashMap的底层结构vector的特点 Vector底层是一个对象数组Vector是线程同步的,即线程安全的&…...

Scout:一款功能强大的轻量级URL模糊测试与爬取工具

关于Scout Scout是一款功能强大的轻量级URL模糊测试与爬取工具,可以帮助广大研究人员进行URL模糊测试,并爬取目标Web服务器中难以扫描发现的VHSOT、文件和目录等资源。 项目中包含了一个完整的字典文件,并尽可能地提供了更多的便携性&#…...

leaflet 解决marker呈现灰色边框的问题

第052个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet示例中处理marker外面有灰色边框的问题,请看未处理会后的图片。 处理后的结果非常满意,不再显示灰色边框。处理方法参考源代码。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意…...

MySQL JSON类型字段的查找与更新

MySQL 提供了丰富的函数用于 JSON 类型字段的查找与更新,详见官方文档。 创建一个表 t1,basic_info 字段为JSON类型: CREATE TABLE t1 (id int(11) NOT NULL AUTO_INCREMENT,basic_info json DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CH…...

element Ui树状图控件 spring boot Vue 实现角色授权功能

目录 前言: 二. element ui 2.1官网提供的核心代码 三.表结构 ​编辑 四.后端 4.1功能分析 4.2实体类 4.3 查询全部权限显示的结果 4.2修改角色权限的后台方法 五.vue 5.0代码总览 5.1树形图 5.2所需要的绑定数据 5.3所需方法 前言: 先上图…...

已解决sc delete MongoDB卸载MongoDB拒绝访问。

已解决sc delete MongoDB卸载MongoDB拒绝访问。 文章目录报错问题报错翻译报错原因解决方法联系博主免费帮忙解决报错报错问题 粉丝群里面的一个小伙伴遇到问题跑来私信我,想卸载MongoDB数据库,但是发生了报错(当时他心里瞬间凉了一大截&…...

python的opencv操作记录11——阈值分割

文章目录传统图像处理分割阈值分割一个应用场景opencv库中的阈值分割固定阈值THRESH_OTSU 大津法阈值自适应阈值传统图像处理分割 现在提到图像分割,很多人会直接想到当前火爆的深度学习的各种分割网络,比如实例分割,语义分割等。其实在传统…...

Python-项目实战--飞机大战-英雄登场(7)

目标设计英雄和子弹类使用pygame.key.get_pressed()移动英雄发射子弹1.设计英雄和子弹类1.1英雄需求游戏启动后,英雄出现在屏幕的水平中间位置,距离屏幕底部120像素英雄每隔0.5秒发射一次子弹,每次连发三枚子弹英雄默认不会移动,需…...

寒假安全作业nginx-host绕过实例复现

1.测试环境搭建 LNMP架构的话,肯定就是linux、nginx、mysql、php四大组件。在后面的复现中我们还会用到https的一部分知识,故这里的nginx就需要使用虚拟主机并且配置https证书,且具有php解析功能。 1.1 基础nginx配置 #1.创建web目录 mkdir …...

RocketMQ-消息消费模式 顺序消费

RocketMQ-消息消费模式 顺序消费RocketMQ-消息消费模式集群模式集群模式的演示(本身就默认)Rocketmq存储队列广播模式顺序消费如何改实现顺序消费RocketMQ-消息消费模式 集群模式 在消费模式为集群的情况下,如果机器是集群的,消息只会给集群中的其中一台机器消费到 集群模…...

一、Java并发编程之线程、synchronized

黑马课程 文章目录1. Java线程1.1 创建和运行线程方法一:Thread方法二:Runnable(推荐)lambda精简Thread和runnable原理方法三:FutureTask配合Thread1.2 查看进程和线程的方法1.3 线程运行原理栈与栈帧线程上下文切换1.…...

12.hadoop系列之MapReduce分区实践

本文我们学习MapReduce默认分区以及自定义分区实践 当我们要求将统计结果按照条件输出到不同文件(分区)&#xff0c;比如按照统计结果将手机归属地不同省份输出到不同文件中(分区) 1.默认Partitioner分区 public class HashPartitioner<K, V> extends Partitioner<…...

有了独自开,一个人就是一个团队

文章目录 简单介绍优点 优秀案例平台福利总结 简单介绍 独自开是一个基于商品与服务交易全流程的PaaS开发平台。对于开发者&#xff0c;独自开可以协助开发者一个人独自开发一套系统。 优点 独自开有独创的分层标准化平台架构&#xff0c;可以满足系统的任何个性化需求。 …...

web期末复习 2023.02.11

文章目录Web 的概念Web 组成用户通过浏览器请求资源的过程:HTML 超文本标记语言CSS插入样式表的方法有三种:对象&#xff0c;类&#xff0c;实例一个完整的 JavaScript 实现是由以下 3 个不同部分组成的&#xff1a;JavaScript 用法什么是 Java Server Pages?JSP 注释JSP 的 J…...

第44章 用户密码实体及其约束规则的定义实现

1 说明&#xff1a; 由当前程序需要兼容实现多种用户密码的加密操作&#xff0c;所以必须把“CustomerPassword”定义为实体类&#xff0c;该类用于用于把加密方式、密钥及其加密后的密码持久化到“CustomerPassword”表中&#xff0c;以便用为用户登录操作提供验证支撑。 如果…...

聊聊并发与锁

持续坚持原创输出&#xff0c;点击蓝字关注我吧1.并发与并行并发可以充分地利用 CPU 资源&#xff0c;一般都会使用多线程实现。多线程的作用是提高任务的平均执行速度&#xff0c;但是会导致程序可理解性变差&#xff0c;编程难度加大。关于对并发与并行的概念&#xff0c;大家…...

开源项目 —— 原生JS实现斗地主游戏 ——代码极少、功能都有、直接粘贴即用

目录 效果如下 目录结构 GameEntity.js GrawGame.js konva.min.js PlayGame.js veriable.js index.html 结语&#xff1a; 前期回顾 卡通形象人物2 写代码-睡觉 丝滑如德芙_0.活在风浪里的博客-CSDN博客本文实现了包含形象的卡通小人吃、睡、电脑工作的网页动画https://…...

Linux第四讲

目录 四、shell脚本 4.1 shell和shell脚本 4.2 脚本语言分类 4.2.1 编译型语言 4.2.2 解释型语言 4.2.3 脚本语言 4.3 shell常见种类 4.3.1 shell分类介绍 4.3.2 查看bash版本 4.3.3 sh和bash的关系 4.4 脚本书写规范 4.4.1 选择解释器 4.4.2 开发规范 4.5 shell…...

Redis 持久化

持久化是指数据写到物理硬盘里&#xff0c;即便程序崩溃、或者电脑重启&#xff0c;依然能够恢复。Redis提供了两种持久化机制&#xff1a;RDB和AOF。 RDB(Redis Database): RDB文件相当于内存快照&#xff0c;保存了某个时间点数据库信息。使用RDB文件恢复很简单&#xff0c;将…...

Python语言零基础入门教程(十三)

Python 字典(Dictionary) 字典是另一种可变容器模型&#xff0c;且可存储任意类型对象。 字典的每个键值 key:value 对用冒号 : 分割&#xff0c;每个键值对之间用逗号 , 分割&#xff0c;整个字典包括在花括号 {} 中 ,格式如下所示&#xff1a; d {key1 : value1, key2 : …...

江苏五年制专转本应该复习几轮?

五年制专转本应该复习几轮&#xff1f; 据调查统计&#xff1a;2022年专转本17%的考生复习三轮及以上&#xff0c;23%的考生复习了两轮。这两类的考生录取率高至85%。可见复习轮数多&#xff0c;专转本上岸的概率也大。综合多方因素&#xff0c;建议同学们专转本复习四轮&#…...

微信小程序的优化方案之主包与分包的研究

什么是分包&#xff1f; 某些情况下&#xff0c;开发者需要将小程序划分成不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 在构建小程序分包项目时&#xff0c;构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的…...

从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。

在开始之前先自学两个工具 商业web自动化测试工具请自学QTP&#xff1b;QTP的学习可以跳过&#xff0c;我是跳过了的。 开源web自动化测试工具请自学Selenium&#xff1b;我当年是先学watir&#xff08;耗时1周&#xff09;&#xff0c;再学selenium&#xff08;也耗时1周&…...

【计组笔记03】计算机组成原理之系统五大部件介绍、主存模型和CPU结构介绍

这篇文章,主要介绍计算机组成原理之系统五大部件、主存模型和CPU结构。 目录 一、计算机五大部件 1.1、体系结构 (1)冯诺依曼体系结构...

微信小程序解析用户加密数据

微信公众号 IT果果日记前言在上一篇文章“微信小程序如何获取用户信息”中我们完成了用户明文数据的校验工作&#xff0c;本文将学习解密用户的非明文用户信息&#xff0c;也就是获取用户的openId和unionId。解密调用wx.getUserProfile后将返回encryptedData和iv两个数据。encr…...

毕业四年换了3份软件测试工作,我为何仍焦虑?

​今天一看日历&#xff1a;2023.2.11 &#xff0c;才突然意识到自己毕业已经四年了。四年时间里一直在测试行业摸爬滚打&#xff0c;现在是时候记录一下了。 下面我来分享下我这4年软件测试经验及成长历程&#xff0c;或许能帮助你解决很多工作中的迷惑。 01、我是如何开始做…...

嵌入式C基础知识(7)

是否可以传递任何参数并从 ISR 返回值不可以。不能传递任何参数并从 ISR 返回值。 ISR 不返回任何内容&#xff0c;并且不允许传递任何参数。 当硬件或软件事件发生时调用 ISR&#xff0c;而代码不会调用它。 这就是为什么不向 ISR 传递参数的原因。 由于代码不调用 ISR&#x…...

大数据系列之:安装pulsar详细步骤

大数据系列之&#xff1a;安装pulsar详细步骤一、Pulsar版本和jdk对应关系二、安装JDK三、设置和激活jdk环境变量四、下载和解压Pulsar五、查看Pulsar目录六、启动Pulsar standalone cluster七、创建Kafka Topic八、往Topic写入数据九、消费pulsar的Topic一、Pulsar版本和jdk对…...