【Linux】零基础学会Linux之权限

文章目录

文件类型及访问者

类型

要知道Linux的基本权限,我们首先要知道文件类型,第一位就代表了文件的类型

⭐d:目录文件
⭐-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

我们主要学习目录文件和普通文件

访问者

文件访问者有三类

1,所有者 u-user,(你创建一个文件那所有者就是你)

2,所属组 g-group,(这个小组可以负责这个文件)

3,其他人 o-others,(除了上面两类人,剩下的都是其他人)

🚩Linux基本权限

💪文件有3类访问者,而每个访问者又有3种访问权限

❤ r :即Read 对文件具有读取权限,(就是可以看文件里有什么,比如文件有代码就可以cat)

对目录文件具有浏览该目录的权限,(就像解压时,你虽然不知道解压后的内容,但是可以进目录浏览下文件)

❤ w:即Write 对文件具有修改功能,(可以写入文件)

对目录文件具有修改,移动,删除目录内文件权限

❤ x:即 execute,对文件具有执行权限

对目录文件具有进入权限,(目录文件没有x,连进入都进不去)

文件权限值

看这副图,第一位说明普通文件,后面9位是什么呢

:以3位一组,向后数分别代表所有者,所属组,其他人的权限

⭐就比如:

所有者权限是可读可写

所属组权限是可读可写

其他人的权限是只可读

若是- - -则说明无权限

二进制

我们可以用比特位来记录,若有权限则代表1,无权限则0,

该图分别为 110 110 100

八进制

以3位为一组,我们可以用八进制表示,即为6 6 4

更改权限指令

若我们想修改所有者,所属组,其他人的rwx权限,就如下操作,添加所有者执行权限

chmod u+x test.e

减少其他人可读权限:

chmod o-r test.e

增加所有人的可读权限

chmod a+r test.e

增加所有人的可写权限,并增加所属组的执行权限,用逗号隔开

chmod a+r,g+x test.e

或者用八进制表示:

chmod 777 test.e

更改所有者,所属组

假设有个it用户,我们用root更改test.e的所有者

chown it test.e

更改所属组

chgrp it test.e

两者一起改

chown it:it test.e

🚩目录的权限

  • 可执行权限:若目录没有可执行权限,则无法进入目录文件中
  • 可读权限:若目录没有可读权限,则无法用ls查看目录文件的内容
  • 可写权限:若目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件

问题来了,我们用root创建一个共享的目录文件,并设置成777,也就是jib和it都能读写执行

那么我在jib创建abc文件,因为it对目录可写,是不是就能删除abc文件呢,

确实是这样,这显然不合理,我自己的文件被别人删除了,所以发明了粘滞位

粘滞位

只有目录文件所有者或超级管理者(root)能设置粘滞位

chmod +t 目录文件名

被设置为粘滞位后,只能由以下人删除:

1,超级管理者

2,该目录文件所有者

3,该文件所有者

相关推荐
码爸6 小时前
线性回归算法
算法·机器学习·线性回归
KIDULT°6 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
Coder-magician6 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil2086 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b6 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
别动我齐刘海7 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
青少儿编程课堂7 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b7 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展