0
点赞
收藏
分享

微信扫一扫

linux权限扩展

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

1.去掉 r(读)功能

当我们把mydir目录拥有者读的功能去掉后,发现可以进入mydir目录中 在这里插入图片描述

2. 去掉 w(写)功能

当我们把mydir目录拥有者写的功能去掉后,发现可以进入mydir目录中 在这里插入图片描述

3. 去掉x(执行)功能

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

在这里插入图片描述

4. w的功能

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

在这里插入图片描述

5. r的功能

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

在这里插入图片描述

2. 默认权限

在这里插入图片描述

在一个目录下,创建了一个 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>

在这里插入图片描述

掩码举例

在这里插入图片描述 想在二进制数字 1010 1010 中取到后4个比特位,借助红框中的二进制数字完成 <font color=red> 此时红框中的二进制数字就相当于掩码的存在 </font>

掩码 ——umask

在这里插入图片描述

不管第一个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>

在这里插入图片描述

普通文件默认权限

在这里插入图片描述

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

目录的默认权限

在这里插入图片描述

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

3.粘滞位

1. 粘滞位的使用背景

1.创建public公共目录

来到根目录 <font color=blue> 使用 sudo提高权限,创建 public 公共目录</font> 在这里插入图片描述 在这里插入图片描述

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

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

在这里插入图片描述 <font color=blue> 创建属于当前用户的文件 yzq1 yzq2 以及属于root的文件 root1 root2</font>

在这里插入图片描述 <font color=blue> 使用 su 切换成root用户 ,再通过root用户切换成 普通用户lyn 创建 普通用户 lyn1 lyn2</font>

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

在这里插入图片描述

<font color=blue> 当前普通用户为yzq,假设有一天因为矛盾,lyn这个普通用户删除了other的所有权限</font> 在这里插入图片描述

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

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

2. 粘滞位的使用

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

在这里插入图片描述 通过使用 sudo chmod +t 文件名,<font color=blue>将public目录的other权限加了 t,说明该目录设置了粘滞位</font>

在这里插入图片描述 <font color=blue>普通用户yzq 想要删除普通用户lyn的文件,发现并不可以了</font>

举报

相关推荐

0 条评论