【Linux】Linux的粘滞位

在之前我们对Linux下的访问权限做了简单的学习和了解,我们知道在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些目录与文件,而基本的访问权限包括:读、写、执行。
下面我们先看一个例子;
我们首先由普通用户切换至root用户,然后在code目录下创建一个file文件:
这里写图片描述
然后我们切换回普通用户,尝试删除我们之前创建的file文件,发现虽然file文件只有“rw-”权限,但是我们依然可以删除,这是为什么呢?
这里写图片描述
我们再来看一看code目录的权限,code目录有“rwx”权限,这里的file文件正是因为cd目录具有x权限,它也可以被我们删除。
这里写图片描述
在Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或子目录等操作。然而试想一下,若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将造成什么结果?所以为了防止用户对于除自己外的其他用户的文件进行删除操作,所以产生了粘滞位。
下面让我们来简单认识一下什么是粘滞位:
这里写图片描述

当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,而是只有该文件的所有者和root用户才有权将其删除。设置了粘滞位之后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据。(需要注意的是,粘滞位权限只能针对目录设置,对于文件无效)。
它的作用便是让用户只能删除属于自己的文件。
粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。
这里写图片描述
我们可以看到此时的权限为已经由.x变为.t

此时如果我们在code目录底下创建一个文件file,切换到普通用户环境底下,再一次进行删除,我们发现此时已经无法删除该文件。

说明我们已经设置成功了

关于粘滞位的取消命令(chmod o-t tmp),取消完成之后就和初始状态一样,我们便不

做过多解释。

粘滞位(Sticky bit),或粘着位,是Unix文件系统权限的一个旗标。最常见

的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除

或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以

删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。

粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。

在Linux系统中比较典型的例子就是“/tmp”、“/var/tmp”目录。这两个目录作为Linux系统的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或子目录等操作。然而试想一下,若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将造成什么结果?

粘滞位权限便是针对此种情况设置,当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,而是只有该文件的所有者和root用户才有权将其删除。设置了粘滞位之后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据。

(需要注意的是,粘滞位权限只能针对目录设置,对于文件无效)

以下我们进行粘滞位的设置

粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值