Linux入门——权限
发布日期:2025-04-08 11:09:20 浏览次数:9 分类:精选文章

本文共 1700 字,大约阅读时间需要 5 分钟。

Linux入门——权限

文件类型

之前我们创建文件和目录的时候,前面总有那么几行:

在这里插入图片描述在Windows中我们用后缀来区分文件的类型,但在Linux中不是这样的,Linux是以首字符来区分的(上面的图像中红色框框中第一个字符):
在这里插入图片描述这里是常见的文件类型:
在这里插入图片描述

文件权限

除开第一个字符表示文件类型,剩下的九个字符表示的是拥有者,所属组,其他人对这个文件的权限

在这里插入图片描述

拥有者(u):表示这个文件的拥有者。

所属组(g):表示一群人对这个文件所拥有的权限
其他人(o):除拥有者和所属组的另外的人

我们来创建一个文件,来看看这些权限有什么用:

在这里插入图片描述

在这里插入图片描述如果我们想要改变相应者的权限:chmod + (u,g,o) +/- 文件名

比如我们想去掉拥有者的r权限:

在这里插入图片描述这是候我们想要打印TEST.txt里面的内容:
在这里插入图片描述发现读取不了了,我们这时候把r加回去:
在这里插入图片描述
由此我们可以推出r是读取的权限
现在我们试试将TEST.txt的w权限去掉:
在这里插入图片描述
现在我们试试往TEST.txt里写点东西:
在这里插入图片描述
发现被拒了,我们再把它加回来:
在这里插入图片描述
可以写了,由此可知w是写权限
其实还有一个权限交执行权限,以x来表示,目前看不出来有什么用,之后在目录的权限里有大作用

chmod + XXX

除去首位字符表示文件类型,剩下的九位,我们用二进制表示(有字母为1,没有字母为0

三位为一组,最大值为(111)最小值(000)对应为相应的八进制:
在这里插入图片描述
那么我想改对应的权限,就可以用数字了:
比如我想修改Test.txt的 拥有者,所属组,其他人的 读权限全部去掉:
在这里插入图片描述在这里插入图片描述

umask 权限掩码

我们注意一下,我们新建文件和目录有默认的权限:

目录:777

文件:666

但是实际情况不是这样~

新建文件:
在这里插入图片描述
新建目录:
在这里插入图片描述
为什么呢,那是因为有一个东西叫权限掩码 umask
在这里插入图片描述权限掩码的意义是:权限掩码的每一位转化成三位二进制数后凡是位上为1的在最终的权限中不出现。

比如目录:

在这里插入图片描述
我们有一个公式:

最终权限 = 起始权限 & (~umask)

在这里插入图片描述

目录权限

我们之前已经讨论过权限了,但是目录的权限有点特别,我们单独拿出来说:

我们创建一个目录:
在这里插入图片描述我们之前没有讨论过-x权限,我们现在把自己的-x去掉:
在这里插入图片描述现在我们发现进不去了,所以由此可知**-x是能否进入目录的权限。**
我们再把-x加回来:
在这里插入图片描述现在我们可以进入了。
我们返回上层将拥有者的-r去掉:
在这里插入图片描述
我们进入Newdir之后想查看一下这个目录里面有哪些文件:
在这里插入图片描述
我问由此可知目录的-r是查看当前目录下信息的权限。
我们返回上层,将拥有者的-w权限去掉:
在这里插入图片描述

我们尝试在这个目录里创建文件:

在这里插入图片描述我们发现我们创建不了文件了,我们尝试一下可不可以删除文件:
在这里插入图片描述
在这里插入图片描述那么可不可以向test.txt中写东西呢?
在这里插入图片描述
唉~,可以,这是后大家就会有疑惑了,这是为什么呢?是因为:

一个文件能否被创建或者删除是取决于目录的-w权限,一个文件能否被写入是由他自身的-w决定的。

那就会有一个问题:一个文件能否被删除跟自己没有任何关系,跟自己的目录有关系! 如果有一些情况,我们的文件会有被别人删除的风险:

我们需要合作开发项目,我们要在一个公共的目录下工作。

我们来模拟一下这个情况:

我们假设在root账号下,设立一个公共区域;
在这里插入图片描述我们注意看一下shared的权限:
在这里插入图片描述对于其他人,有-r和-x的权限,就意味着我们可以进入这个目录和查看这个目录下的信息:
为了可以在这个文件夹下创建东西,我们加上-w权限:
在这里插入图片描述现在我切换成普通用户1(My_Root):
在这里插入图片描述现在我们以My_Root的账户创建文件:
在这里插入图片描述
我们现在看到My_Root的其他人的权限只有读权限,我们将其他人的-r权限去掉:
在这里插入图片描述现在我们切换成普通用户2(My_Root_1):
在这里插入图片描述我现在无法读,也无法写这个文件:
在这里插入图片描述
然后My_Root_1恼羞成怒:
在这里插入图片描述
把My_Root用户创建的文件删除了。这是非常荒谬的事情~,我的文件可以被其他人删掉!
那么如何避免这种情况呢?我们专门为目录设置了粘滞位-t解决这个问题。(注意:粘滞位只能给目录设置。)
我们切回root账号:
在这里插入图片描述我们重复上面切不同账号建文件的操作:
在这里插入图片描述在这里插入图片描述这下可以完美解决这个问题。

上一篇:Linux入门之软件包管理yum的使用
下一篇:Linux入门

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月20日 15时47分17秒