浅析粘滞位

在了解粘滞位之前,我们先来回忆一下一个文件具有的三种权限,在Linux下有一种一切皆文件的思想,所以,这里的文件包含普通文件和目录了:


一、文件权限:

r  :可以读这个文件的内容

w :可以编辑这个文件的内容,包括增加和删除文件的具体内容

x :可执行权限。(需注意:在windouw下,文件的可执行权限是通过文件的扩展名表示出来的,而在Linux下是由这个X权限所决定的)。


二、目录权限:


r:可以查看此目录的完整信息

w:可以对此目录下的所有文件及子目录进行相关的更改

例如:可以在此目录下创建新的文件及目录,也可以删除此目录下的所有子目录或者文件,不管该文件的权限是什么

x:目录没有可执行的权限,目录中的x的功能就是允许别的用户可以进入该目录。


在这里需注意,一般情况下需要给other的权限为r-x,因为有x权限其他用户才可以进入此目录,并读取该目录下的信息。


------------------------------------------------------------------------------------------------


通常情况下,用户只要对某个目录具备w写入权限,便可以删除目录内的任何文件或者子目录,而不管删除的文件具备的权限。

*示例介绍粘滞位的由来

在root下创建一个目录dir66,并且将该目录的other权限设置为可读、可写、可执行,然后再在该目录下新建一个文件,该文件的other权限默认为只读。


现在切换到一般用户,然后删除该文件,由下图可知,删除成功了。
一般用户对于root用户来说,属于other,所以在你将文件的权限设置为只读时,但是只要该目录的other权限具有写权限,那么其他人也可以删除该目录下的文件的。
但是你的本意是想让other只能读,而不能删除该文件的,
但是貌似并未达到你的预期。
粘滞位权限由此引出。



通常情况下,用户只要对某个目录具备w写入权限,便可以删除目录内的任何文件或者子目录,而不管删除的文件具备的权限。

一、对粘滞位的基本了解:

①粘滞位权限的设置对象只能是目录,对于一般的文件失效。
②当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,只有该文件的owner和root可以删除。

③粘滞位权限的设置:

粘滞位权限都是针对其他用户(other)设置,可使用chmod命令来设置目录的粘滞位权限。
chmod o+t 目录名        :用于添加粘滞位权限

chmod o-t 目录名        :用于删除粘滞位权限



在Linux下比较典型的例子就是“/tmp”、“/var/tmp”目录,这两个目录作为Linux系统的临时文件夹,权限为777,
即就是允许任何用户、任何程序在该目录中进行创建、删除、移动文件或者子目录等操作。
若任意用户都可以删除系统服务运行中使用的临时文件,
将造成很严重的后果,粘滞位即就是针对此种情况设置。




二、设置目录的粘滞位,使得other不能删除只有读权限的文件。
将dir66目录的other权限的x权限修改为t,使其具有粘滞位权限。



从下图可观察到当将目录的other的x权限修改为t时,一般用户可查看该文件,但是不能删除该目录中其他用户的文件,起到了一定的保护作用。



设置了粘滞位以后, 正好可以保持一种动态的平衡:允许其他用户在目录中任意写入、删除数据,但是禁止删除其他用户的数据。

总结:

粘滞位权限的设置就是为了防止其他人对于你自己不允许other删除的文件进行删除。


说明:上述内容参考网上资料。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值