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

目录

前言

一、为什么需要粘滞位

二、粘滞位是什么?

三、怎么设置粘滞位


前言

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

一、为什么需要粘滞位

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

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

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

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

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

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

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

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

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

二、粘滞位是什么?

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

三、怎么设置粘滞位

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

chmod +t 文件名

细节:

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

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

相关推荐
chlk12316 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑16 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件17 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
崔小汤呀4 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应4 天前
vi编辑器使用
linux·后端·操作系统