
Linux入门——权限
在Windows中我们用后缀来区分文件的类型,但在Linux中不是这样的,Linux是以首字符来区分的(上面的图像中红色框框中第一个字符):
这里是常见的文件类型:
这是候我们想要打印TEST.txt里面的内容:
发现读取不了了,我们这时候把r加回去:
由此我们可以推出r是读取的权限。 现在我们试试将TEST.txt的w权限去掉:
现在我们试试往TEST.txt里写点东西:
发现被拒了,我们再把它加回来:
可以写了,由此可知w是写权限。 其实还有一个权限交执行权限,以x来表示,目前看不出来有什么用,之后在目录的权限里有大作用。
那么我想改对应的权限,就可以用数字了: 比如我想修改Test.txt的 拥有者,所属组,其他人的 读权限全部去掉: 
新建目录:
为什么呢,那是因为有一个东西叫权限掩码 umask
权限掩码的意义是:权限掩码的每一位转化成三位二进制数后凡是位上为1的在最终的权限中不出现。
我们有一个公式:
我们之前没有讨论过-x权限,我们现在把自己的-x去掉:
现在我们发现进不去了,所以由此可知**-x是能否进入目录的权限。** 我们再把-x加回来:
现在我们可以进入了。 我们返回上层将拥有者的-r去掉:
我们进入Newdir之后想查看一下这个目录里面有哪些文件:
我问由此可知目录的-r是查看当前目录下信息的权限。 我们返回上层,将拥有者的-w权限去掉:
我们发现我们创建不了文件了,我们尝试一下可不可以删除文件:
那么可不可以向test.txt中写东西呢?
唉~,可以,这是后大家就会有疑惑了,这是为什么呢?是因为:
我们注意看一下shared的权限:
对于其他人,有-r和-x的权限,就意味着我们可以进入这个目录和查看这个目录下的信息: 为了可以在这个文件夹下创建东西,我们加上-w权限:
现在我切换成普通用户1(My_Root):
现在我们以My_Root的账户创建文件:
我们现在看到My_Root的其他人的权限只有读权限,我们将其他人的-r权限去掉:
现在我们切换成普通用户2(My_Root_1):
我现在无法读,也无法写这个文件:
然后My_Root_1恼羞成怒:
把My_Root用户创建的文件删除了。这是非常荒谬的事情~,我的文件可以被其他人删掉! 那么如何避免这种情况呢?我们专门为目录设置了粘滞位-t解决这个问题。(注意:粘滞位只能给目录设置。) 我们切回root账号:
我们重复上面切不同账号建文件的操作: 
这下可以完美解决这个问题。
发布日期:2025-04-08 11:09:20
浏览次数:9
分类:精选文章
本文共 1700 字,大约阅读时间需要 5 分钟。
Linux入门——权限
文件类型
之前我们创建文件和目录的时候,前面总有那么几行:



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

拥有者(u):表示这个文件的拥有者。
所属组(g):表示一群人对这个文件所拥有的权限 其他人(o):除拥有者和所属组的另外的人
我们来创建一个文件,来看看这些权限有什么用:

如果我们想要改变相应者的权限:chmod + (u,g,o) +/- 文件名
比如我们想去掉拥有者的r权限:






chmod + XXX
除去首位字符表示文件类型,剩下的九位,我们用二进制表示(有字母为1,没有字母为0)
三位为一组,最大值为(111)最小值(000)对应为相应的八进制:


umask 权限掩码
我们注意一下,我们新建文件和目录有默认的权限:
目录:777
文件:666
但是实际情况不是这样~
新建文件:


比如目录:

最终权限 = 起始权限 & (~umask)
目录权限
我们之前已经讨论过权限了,但是目录的权限有点特别,我们单独拿出来说:
我们创建一个目录:





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




一个文件能否被创建或者删除是取决于目录的-w权限,一个文件能否被写入是由他自身的-w决定的。
那就会有一个问题:一个文件能否被删除跟自己没有任何关系,跟自己的目录有关系! 如果有一些情况,我们的文件会有被别人删除的风险:
我们需要合作开发项目,我们要在一个公共的目录下工作。
我们来模拟一下这个情况:
我们假设在root账号下,设立一个公共区域;











发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月20日 15时47分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux 常用命令
2023-02-01
Linux 常用命令之cat、tac、nl
2023-02-01
Linux 常用网络命令
2023-02-01
Linux 强大的网络命令:nc,网络的瑞士军刀!
2023-02-01
Linux 文件目录管理命令
2023-02-01
Linux 文件系统详解
2023-02-01
Linux 显示磁盘空间使用情况的命令:df
2023-02-01
linux 查看 mongodb 连接数
2023-02-01
linux 根目录扩容
2023-02-01
Linux 环境下将 ASM 磁盘映射到物理磁盘的完整指南
2023-02-01
Linux 的性能调优的思路
2023-02-01
Linux 磁盘分区详解
2023-02-01
Linux 磁盘和文件系统管理2
2023-02-01
Linux 系统备份与恢复详解
2023-02-01
linux 系统服务管理
2023-02-01
linux 系统的ssh服务
2023-02-01