linux之《权限掩码,目录权限,粘滞位》

文章目录

  • 一,权限掩码
  • 二,目录权限
  • 三,粘滞位

一,权限掩码

权限掩码又称umask,在不同平台的umask默认值不同。
(这里是我的linux下的umask)
在这里插入图片描述
umask是八进制数,故0 022

那么权限掩码有什么作用呢?
当然是设置默认文件/目录最终权限(就是命令行显示出来的权限)

这里先介绍一下我们所看到的文件/目录最终权限的由来

最终权限 = 默认权限 & (~umask)
ps: linux下文件的默认权限是666目录的是777

下面我们进行验证
linux之《权限掩码,目录权限,粘滞位》_第1张图片
我创建了“文件a”和“目录b”,此时我们来运算一下,

文件最终权限
= 666 &(~022)
= 110 110 110 & 111 101 101
= 110 100 100
= 644

目录最终权限
= 777 & (~022)
= 111 111 111 & 111 101 101
= 111 101 101
= 755

linux之《权限掩码,目录权限,粘滞位》_第2张图片

二,目录权限

- r(read) w(write) x(execute)
文件 读写 修改 可以执行
目录 查看 在里面进行文件操作 可以进入

目录没有r 权限,我们查看不了当前文件夹的信息
linux之《权限掩码,目录权限,粘滞位》_第3张图片
目录没有w权限,我们在文件夹里创建不了文件
linux之《权限掩码,目录权限,粘滞位》_第4张图片

目录没有x权限,我们就进不去
linux之《权限掩码,目录权限,粘滞位》_第5张图片

三,粘滞位

假设有这样一段场景,root用户创建了一个公共目录public,允许我们其他用户在里面工作。可以我们用户创建文件,修改文件等等。
在这里插入图片描述
linux之《权限掩码,目录权限,粘滞位》_第6张图片
如图,我们各自都有自己的文件。

但是我们突然也发现,任意一个普通用户虽然不可以写和执行,但是都可以删除里面的文件。
linux之《权限掩码,目录权限,粘滞位》_第7张图片
这肯定是不允许的,所以粘滞位的必要性就来了。

粘滞位只可以给目录添加,防止里面的文件被删除
chmod +t 目录名

如图:在这里插入图片描述
此时我们再去看看能不能删除文件了
linux之《权限掩码,目录权限,粘滞位》_第8张图片

显然,有了粘滞位的加入,普通用户不能删除别人的文件root不受粘滞位的约束

你可能感兴趣的:(linux,linux)