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

目录

前言

一、为什么需要粘滞位

二、粘滞位是什么?

三、怎么设置粘滞位


前言

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

一、为什么需要粘滞位

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

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

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

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

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

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

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

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

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

二、粘滞位是什么?

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

三、怎么设置粘滞位

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

chmod +t 文件名

细节:

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

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

相关推荐
暮云星影1 天前
全志linux开发屏幕适配(二)`HDMI`驱动适配说明
linux·arm开发·驱动开发
凡人叶枫1 天前
Effective C++ 条款38:通过复合塑模出 has-a 或 \“根据某物实现出\
linux·开发语言·c++·windows
charlie1145141911 天前
嵌入式Linux驱动开发——从轮询到中断
linux·开发语言·驱动开发·嵌入式
无限进步_1 天前
【Linux】系统级文件I/O与文件描述符深度剖析
linux·运维·服务器
ShineWinsu1 天前
对于Linux:线程局部存储(TLS)和线程封装的解析
linux·c++·面试·线程·tls·线程封装·线程局部存储
2023自学中1 天前
imx6ull开发板,sd卡启动运行linux,手动给开发板的 emmc 做分区、烧系统
linux·嵌入式·开发板
暮云星影1 天前
瑞芯微rk3566开发FIT Secure Boot
linux·arm开发·驱动开发·安全
biter down1 天前
2:Ubuntu 22.04 LTS 的完整下载教程
linux·运维·ubuntu
零陵上将军_xdr1 天前
为什么DCL单例要加volatile?——CPU乱序执行与内存屏障
java·linux
杨云龙UP1 天前
Oracle/ODA RAC /u01 空间告警处理指南:grid 用户监听日志清理_2026-06-15
linux·数据库·oracle·oracle linux·oda·监听日志·在线清理