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

目录

前言

一、为什么需要粘滞位

二、粘滞位是什么?

三、怎么设置粘滞位


前言

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

一、为什么需要粘滞位

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

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

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

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

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

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

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

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

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

二、粘滞位是什么?

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

三、怎么设置粘滞位

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

chmod +t 文件名

细节:

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

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

相关推荐
寂柒26 分钟前
序列化与反序列化
linux·网络
lay_liu41 分钟前
ubuntu 安装 Redis
linux·redis·ubuntu
li星野1 小时前
[特殊字符] Linux/嵌入式Linux面试模拟卷
linux·运维·面试
JiMoKuangXiangQu2 小时前
Linux 锁 (4) - seqlock
linux·seqlock
xlp666hub2 小时前
如果操作GPIO可能导致休眠,那么同步机制绝不能采用spinlock
linux·面试
RisunJan3 小时前
Linux命令-mkbootdisk(可建立目前系统的启动盘)
linux·运维·服务器
朽棘不雕3 小时前
Linux工具(上)
linux·运维·服务器
BestOrNothing_20154 小时前
Ubuntu 22.04 下调整 VS Code 界面及字体教程
linux·vscode·ubuntu22.04·界面调整
桌面运维家4 小时前
Windows/Linux云桌面:高校VDisk方案部署指南
linux·运维·windows
mzhan0174 小时前
Linux:intel:Cache Allocation tech
linux·cpu