linux权限扩展

时间:2022-12-01 11:30:45

1. 进入一个目录 需要什么权限?

1.去掉 r(读)功能

当我们把mydir目录拥有者读的功能去掉后,发现可以进入mydir目录中 linux权限扩展

2. 去掉 w(写)功能

当我们把mydir目录拥有者写的功能去掉后,发现可以进入mydir目录中 linux权限扩展

3. 去掉x(执行)功能

直接会报错 ,说明进入一个目录需要x权限

linux权限扩展

4. w的功能

若缺少w写的功能,则会使在进入新创建的目录中,无法直接创建新的文件

linux权限扩展

5. r的功能

若缺少r读的功能,则会使新创建的目录中,无法直接打开文件名和文件属性

linux权限扩展

2. 默认权限

linux权限扩展

在一个目录下,创建了一个 you 目录 和 888.txt的 文件 目录默认为<font color=red> rw-rw-r-- </font> 即 <font color=red> 664 </font> 普通文件默认为<font color=red>rwxrwxr-x </font>即 <font color=red> 775 </font> <font color=blue> 那默认权限 664和 775是怎么产生的呢?</font>

初始权限&&掩码

<font color=blue> 普通文件的初始权限为 666(没有x) ,目录的初始权限 为777(rwx) </font>

linux权限扩展

掩码举例

linux权限扩展 想在二进制数字 1010 1010 中取到后4个比特位,借助红框中的二进制数字完成 <font color=red> 此时红框中的二进制数字就相当于掩码的存在 </font>

掩码 ——umask

linux权限扩展

不管第一个0 , 002作为 <font color=red> 八进制存在 </font> 一个八进制位的最大数字7 对应 3个二进制位 1 1 1 <font color=blue> 002 转换为 二进制即 000 000 010 </font>

公式推导

权限掩码: <font color=blue> 在起始权限中,去掉在umask中出现的权限,不能影响其他出现任何权限 </font>

所以我们不使用加减这种方式来计算

<font color=red> 最终权限= 起始权限 & (~unmask) ~是按二进制位取反 </font>

linux权限扩展

普通文件默认权限

linux权限扩展

<font color=blue> 普通文件的默认 权限即 6 6 4 </font>

目录的默认权限

linux权限扩展

<font color=blue> 目录的默认权限即 7 7 5 </font>

3.粘滞位

1. 粘滞位的使用背景

1.创建public公共目录

来到根目录 <font color=blue> 使用 sudo提高权限,创建 public 公共目录</font> linux权限扩展linux权限扩展

使用 shudo chmod 777 public 打开全部权限

2.public内部创建多个用户的文件

linux权限扩展 <font color=blue> 创建属于当前用户的文件 yzq1 yzq2 以及属于root的文件 root1 root2</font>

linux权限扩展 <font color=blue> 使用 su 切换成root用户 ,再通过root用户切换成 普通用户lyn 创建 普通用户 lyn1 lyn2</font>

3. 当前普通用户可以随意删除其他用户文件

linux权限扩展

<font color=blue> 当前普通用户为yzq,假设有一天因为矛盾,lyn这个普通用户删除了other的所有权限</font> linux权限扩展

<font color=blue> 当前普通用户 yzq 可以直接删除属于普通用户 lyn的 lyn1文件</font>

<font color=red>就造成了 文件被所有人共享的时候,受权限约束,但是拦不住别人删我的文件</font>

2. 粘滞位的使用

<font color=blue>粘滞位的作用就是为了共享文件,且为了不让其他人不要随便删除别人的文件</font>

linux权限扩展 通过使用 sudo chmod +t 文件名,<font color=blue>将public目录的other权限加了 t,说明该目录设置了粘滞位</font>

linux权限扩展 <font color=blue>普通用户yzq 想要删除普通用户lyn的文件,发现并不可以了</font>