Linux | 一篇文章带你深刻理解粘滞位

目录

前言

一、为什么需要粘滞位

二、粘滞位是什么?

三、怎么设置粘滞位


前言

        关于粘滞位的学习,首先你得了解Linux下的权限,当然,文章会稍稍带着复习关键知识点,具体关于权限,请移步  Linux权限

一、为什么需要粘滞位

        首先,如果每听过的小伙伴肯定不知道什么是粘滞位,但并不影响我们了解为什么需要粘滞位;现在我们有这样的一个情形,公司内有两个员工,分别叫做小张和小李,现在公司要求这两个员工把自己的工作文件放到root账户创建的共享文件目录下,于是有了下面这样的文件;

        但是,如果我们这么设置权限,小张和小李既没有进入该目录的权限x,也没有再该目录下创建文件的权限w,这样根本就不能达到我们想要的效果,因此我们要赋予他们两w和x的权限,如下图所示;

        这样就可以让小张和小李在该目录下创建各自的文件了,如下图所示;

        但是呢,小张和小李有矛盾,小张不想让小李看自己的代码,小李也不想让小张把自己的代码偷走!于是呢,小张和小李都给自己的文件分别修改了权限,如下图所示;

        突然有一天,小张和小李又发生矛盾了,小张非常生气,于是就想将小李辛苦写的代码给改掉;说干就干,于是直接登上了自己的账号,准备修改小李的代码;于是有了下图;

        他发现自己没有修改文件的权限,小李早就把自己文件的权限修改了,小张既不能读,也不能写,也没有执行权;于是小张气的咬牙切齿,心生一狠计,于是他直接 rm -f xiaoli1;如下图所示;

        就这样小张一句 rm 就偷偷删掉了,小李熬了几夜写的代码;故事到这就完毕了;这里提出一个问题,为什么小张对文件没有任何权限,不能读,不能写,也不能执行,却可以删掉呢?

        复习一下,对于文件是否可删是有所在目录的权限决定的,而小张和小李所在的是一个共享目录,他们都拥有w权限,可以在目录下创建删除文件,因此可以虽然没有对方创建文件的权限,却拥有删掉对方文件的权限;

        又有小伙伴有疑惑了,那直接把共享目录的w权限去掉,不就可以了吗?但是如果没有w权限,那小张和小李又怎么在共享目录下创建自己的文件呢?那又如何工作呢?因此引出了我们粘滞位的概念;

二、粘滞位是什么?

        粘滞位也是一种权限,一般出现在共享目录的情形中,增加了粘滞位后,哪个用户创建的文件,就只能由哪个用户来进行删除,也就可以防止小张上述的那种极端行为;

三、怎么设置粘滞位

我们可通过以下指令进行设置粘滞位;

chmod +t 文件名

细节:

1、粘滞位只能由目录创建者来进行增加和取消;

2、在设置粘滞位的目录内的文件/目录只能由 文件拥有者设置粘滞位目录用户root用户进行删除;

猜你喜欢

转载自blog.csdn.net/Nice_W/article/details/133885190