欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux:访问权限与粘滞位之详解

程序员文章站 2022-06-30 16:57:52
...

linux中文件权限与目录权限

文件或目录的访问权限分为只读,只写和可执行三种。

权限代号:
r (read):读权限,用数字4表示
w (write):写权限,用数字2表示
x(execute):执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限

这3种权限组成一组rwx分别对应3个安全级别,分别为对象的所属者,对象的所属组,系统其它用户
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

Linux:访问权限与粘滞位之详解
chmod指令
在了解粘滞位之前我们先学习一下chmod这个指令。
chmod命令即用于改变linux系统文件或目录的访问权限。
1. 命令格式:
chmod [-cfvR] [–help] [–version] mode file
2. 必要参数:
-c 当发生改变时,报告处理信息
-f 错误信息不输出
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细处理信息
3,常见情况

 sudo chmod 600 ××× (只有所有者有读和写的权限) 
 sudo chmod 644 ××× (所有者有读和写的权限,组用户只读的权限)

sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

粘滞位
Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而我们今天的主角
粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。
一个目录具有粘滞位,则在other的X位会表现为 t,或者T.大小写的区别在于,原来x位上有x权限,有了粘滞位则表现为t.否则,表现为T。
那到底什么是粘滞位呢?
举个类似的例子吧,我们学校的告白墙,A,B,C三个小伙子都去告白墙给我们的校花同学告白,A喜欢捣乱,为了防止A去删除B和C同学的告白词,所有就有了所谓的告白墙主D以维护B和C权益,A可以向墙主申请加密维护,加密后只有墙主和B或C可删除告白词(墙主D就像是我们的root用户,A 就像是普通用户,申请加密就类似于这里的设置粘滞位)
一个目录具有粘滞位,则在other的X位会表现为 t,或者T.大小写的区别在于,原来x位上有x权限,有了粘滞位则表现为t.否则,表现为T。
(1)查看/tmp权限可以发现确实存在一个t.
Linux:访问权限与粘滞位之详解
(2)用root身份新建一个目录名为file的目录,并用参数-m为它指定权限为777(可读,可写,可执行),在file目录下新建两个文件boyA,boyB.
因为other对该目录具有w权限,所以可以删除目录内容。
Linux:访问权限与粘滞位之详解
(3)切换至普通用户尝试去删除上步骤新建的两个文件,结果显示可以。
Linux:访问权限与粘滞位之详解
(4)回到root用户下给目录file加上(命令:chmod o+t .),查看目录发现other的权限为t,说明添加粘滞位成功。依旧在该目录下新建两个文件boyA,boyB.
Linux:访问权限与粘滞位之详解
(5)再次尝试删除那两个文件,结果显示不可以。事实证明粘滞位给其它用户带来安全限制。
Linux:访问权限与粘滞位之详解
(6)用root对该文件进行删除操作。结果发现,依旧可以正常删除。
Linux:访问权限与粘滞位之详解
总结
:即当一个目录被设置为”粘滞位”(用chmod a+t),则该目录下的文件只能由
一、超级管理员(root)删除或移动
二、该目录或文件的所有者删除 或移动
注意:
(1)虽然目录有了粘滞位,other用户不能对该目录的文件进行删除或者移动操作,但是other对该文件由w权限,还是可以进行修改文件内容的。
(2)粘滞位只对目录有效,对文件无效。