Linux第三讲----用户权限(二)

devtools/2025/2/25 8:42:46/

由于一些原因,我将centos更换为了ubuntu,但是这些指令的操作都是一样的! 

在上一篇文章中,我们已经了解了基本的权限操作,在此篇文章中,我们将继续深入探讨下权限!

一、理论理解

1.Linux下一切皆是文件,文件权限=用户+文件属性!而其中,文件属性又主要是指权限属性,即r/w/x,即读/写/可执行(顺序不可以变!)

注:这里的x是可执行权限,与能执行是两码事,一个可执行文件=可执行权限+本身能执行

2.我们先在Linux上创建几个文件,如图所示,下面我们来具体理解一下!

 我们着重看后两行,下面对其进行解释!

 首先,白色框内代表文件名,红色框内代表上一次修改的时间,绿色框代表字节数,在这里由于我没有写入,故为0,以上三者不在赘述,下面主要介绍黄框还有粉框,之间的1先暂时不介绍!

3.对黄框的解释:

首先我们知道,linux中,用-表示普通文件,用d表示目录文件,所以,以上两个文件都是普通文件,除去这个字符外,还剩下9个字符,我们刚好可以分成3*3组,即3个一组,每一组都是rwx功能(-为不具备对应的功能),而每组我们又可以分别起一个名字,分别叫拥有者,所属组,以及other其他,而粉框第一个代表拥有者,第二个代表所属组,接下来我将对这三个组加以解释。

4.对三个组别的解释:

在这里我可以打个比方,假设张三李四都进入了某家公司,而且被分别分入AB两组,各自编写各自的代码,而由于资金短缺,只能用一台Linux机器,于是便分别创立了zs账户和ls账户,各自编写,假设A组张三创建并编写了zs.txt文件,则张三便是这个文件的拥有者,而A组的其他人,则是所属组,只能读不能写这个文件,而B组的人,则为other其他,也许有人会问到,那为什么还要区分后两者呢?倘若现在要秘密进行A组的协作,则只需要将第二组改为rw-,第三组改为---即可,这就是设置所属组和other存在的意义!

5.总结

综上所述,log.txt为普通文件,对拥有者是可读可写的,对所属组以及Other是只可以读的,拥有者和所属组均为root,创建时间为2.18 14:42

二、实验操作(普通文件)

1.文件的权限属性

法一)chmod u/g/o[+/-]rwx filename, 多人用","隔开

           chmod a[all] +/- rwx filename

示例1:

示例2:

 示例3:

示例4:

示例5:

 法二) chmod 八进制 filename

假设每一位上,若出现-,则代表0,否则为1,那么,r--则为100,即4,rwx则为111,即7,

如此,我们将其组合起来,便有了新的表示方式

示例1:

注意:

1)身份匹配只能匹配一次,从拥有者,所属组,other从左向右成功匹配一次

2)权限是对于普通用户才存在的!root为超级用户,不受权限的控制的!但是假设我作为一个文件的拥有者,但是我将rwx都设为---,那么我将无法在看这个文件也就是说自己把自己杀掉了

2.权限的更改

 假设我在root账号下,有rzh和wzd两个子账号,当rzh账号创建了一个文件并且想把拥有者和所属组都给wzd,应该怎么办呢?

如图,这是rzh账号创建的文件

下面改一下权限:

 

这样,我们完成了改造

 三、实验操作(目录文件)

1.rwx的作用

r  ------   用户能否看到执行目录下的文件信息

w ------   用户能否修改(属性)或删除执行目录下的文件

x  -------  用户能否进入一个目录

证明:(用控制变量法)

r作用的证明:

w作用的证明:

 x作用的证明:

 下面我们来探讨最后一个小问题:

2.为什么我们看到的缺省的权限是这个样子?

换句话讲,就是为什么我们创建完文件后的权限就是这样了呢?如图我新建了目录文件dir1以及普通文件newfile.txt

原因如下:

在创建之初,普通文件的起始权限为666,目录文件的起始权限为777,但是在Linux中,存在一个叫做权限掩码的东西, 并且在不同的系统中,umask的默认值可能是不一样的,我这里是0002。

umask的意思就是过滤掉在权限掩码中出现的权限,最终权限等于起始权限去掉umask

 

过程如下: 

 umask是一个八进制数字,我们只关注后三位,0002表示000 000 010,将其按位取反(~umask)后&初始权限

比如:普通文件:110   110   110

                        &   111   111   101

得到                     110    110   100,即rw-rw-r--

           目录文件:111   111   111

                       &    111   111   101

得到                      111   111    101,即rwxrwxr-x

好了,那如果我们想建一个文件,但是还想取消他的所有权限,那我们就可以设置一下umask的值,改为777,这样按位取反后全为0,&一下就全为0了,权限就设置了

3.粘滞位(选学)

 3.1引言

首先我们以rzh账号建立一个test文件夹,之后切到wzd账号,当我们想用这个账号在test文件夹创建一个wzd.txt文件时,会发现创建不了!如下图

然后我们把账号切回到rzh账号,修改root.txt文件,修改为000,之后发现这个文件既不能写也不能读,但是却可以删

这是因为这个test目录是rzh建的,有w权限,为此我们得出结论:一个文件是否被删,权限是依赖于所处目录的! 

因此,若想进行多个普通账号的数据共享,就不能放在任何一个普通账户的路径下,以root账号创建,公共目录下,普通人以other身份共享!

由此我们设置一下粘滞位:

3.2粘滞位

以下课件内容由比特提供!

 


http://www.ppmy.cn/devtools/161540.html

相关文章

蓝桥杯学习笔记04-滑动窗口不定长(最短/最小)

题目来源 分享丨【题单】滑动窗口与双指针(定长/不定长/单序列/双序列/三指针/分组循环) - 力扣(LeetCode) 209. 长度最小的子数组 - 力扣(LeetCode) 题目要求大于等于 class Solution { public:int min…

冒泡排序:简单又易于实现的排序算法

大家好,今天我们来聊聊 冒泡排序(Bubble Sort)算法。听名字是不是很简单,感觉就像是水面上泡泡一样?没错,冒泡排序的名字来源于这种排序过程中,较大的元素像气泡一样逐步“冒泡”到数组的顶端。…

2. EXCEL中函数和公式《AI赋能Excel》

欢迎来到滔滔讲AI。今天我们来学习和讨论下函数和公式是什么,以及它们之间的区别。 点击图片查看视频 2、AI赋能EXCEL-函数和公式 一、什么是函数 首先,我们来了解一下函数。函数是Excel中预定义的计算工具,能够帮助我们快速进行各种计算。 …

【javaEE】计算机是如何工作的(基础常识)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

maven编译出错,javac: ��Ч��Ŀ�귢�а�: 17

1、异常信息 javac: &#xfffd;&#xfffd;Ч&#xfffd;&#xfffd;Ŀ&#xfffd;귢&#xfffd;а&#xfffd;: 17 &#xfffd;&#xfffd;: javac <options> <source files> -help &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;г&a…

HTML使用 Vue 3 和 Element Plus 实现图片上传功能

在现代 Web 开发中&#xff0c;图片上传功能是一个非常常见的需求。本文将介绍如何使用 Vue 3 和 Element Plus 实现一个功能丰富的图片上传组件。我们将涵盖文件选择、图片预览、文件大小和类型验证、批量上传、以及错误处理等功能。 1. 项目结构 首先&#xff0c;我们需要引…

java springboot 大量close_wait连接 timeout waiting for connection from pool

系统在运行了6-7天后&#xff0c;突然出现timeout waiting for connection from pool&#xff0c;上次出现此问题因为时间紧迫&#xff0c;重启后恢复正常&#xff1b;但此次重启5分钟后&#xff0c;又出现此问题&#xff0c;这个问题不能再拖下去了&#xff0c;异常栈如下 or…

1.✨Java学习笔记

一、 java SE:Java Standard Edition Java ME:Java Mobile Edition Java EE:Java Enterprise Edition Java 由sun 公司推出&#xff0c;后74亿美金转卖给Oracle公司 JDK:Java Development Kit(java开发必备) JRE&#xff1a;Java Runtime Environment&#xff08;java执行环境…