Linux|Linux(访问权限与粘滞位之详解)

linux中文件权限与目录权限
【Linux|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|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|Linux(访问权限与粘滞位之详解)
文章图片

(2)用root身份新建一个目录名为file的目录,并用参数-m为它指定权限为777(可读,可写,可执行),在file目录下新建两个文件boyA,boyB.
因为other对该目录具有w权限,所以可以删除目录内容。
Linux|Linux(访问权限与粘滞位之详解)
文章图片

(3)切换至普通用户尝试去删除上步骤新建的两个文件,结果显示可以。
Linux|Linux(访问权限与粘滞位之详解)
文章图片

(4)回到root用户下给目录file加上(命令:chmod o+t .),查看目录发现other的权限为t,说明添加粘滞位成功。依旧在该目录下新建两个文件boyA,boyB.
Linux|Linux(访问权限与粘滞位之详解)
文章图片

(5)再次尝试删除那两个文件,结果显示不可以。事实证明粘滞位给其它用户带来安全限制。
Linux|Linux(访问权限与粘滞位之详解)
文章图片

(6)用root对该文件进行删除操作。结果发现,依旧可以正常删除。
Linux|Linux(访问权限与粘滞位之详解)
文章图片

总结
:即当一个目录被设置为”粘滞位”(用chmod a+t),则该目录下的文件只能由
一、超级管理员(root)删除或移动
二、该目录或文件的所有者删除 或移动
注意:
(1)虽然目录有了粘滞位,other用户不能对该目录的文件进行删除或者移动操作,但是other对该文件由w权限,还是可以进行修改文件内容的。
(2)粘滞位只对目录有效,对文件无效。

    推荐阅读