今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除。诡异!
几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一位公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google上搜索"rwt linux",终于发现了问题,发现这种用法的名字是“文件的粘滞位(sticky)位“。它的作用是:普通文件的sticky位会被linux内核忽略,但
目录的sticky位表示这个目录里的文件只能被owner和root删除,没错这就是问题本质,也和我的现象相吻合。于是用root用户,对这个文件夹chmod -t 后,用BBB用户就可以删除刚才AAA用户创建的文件了。一切正常了。哇。。。。世界太平了!真是长见识了。所以将这个知识点整理如下:
文件的粘滞位(sticky)位是作什么用的?
普通文件的sticky位会被linux内核忽略,
目录的sticky位表示这个目录里的文件只能被owner和root删除
粘着位(Sticky bit)
如果用户对目录有写权限,则可以删除其中的文件和子目录,即使该用户不是这些文件的所有者,而且也没有读或写许可。粘着位出现执行许可的位置上,用t表示,设置了该位后,其它用户就不可以删除不属于他的文件和目录。但是该目录下的目录不继承该权限,要再设置才可使用。
# chmod 1770 xxx
举一个linux下的常见目录来做例子,也就是 /tmp 目录来说一下粘连位的作用。
#ls -dl /tmp
drwxrwxrwt 4 root root .........
注意other位置的t,这便是粘连位。
我们都知道,/tmp常被我们用来存放临时文件,是所有用户。但是我们不希望别的用户随随便便的就删除了自己的文件,于是便有了粘连位,它的作用便是让用户只能删除属于自己的文件。
那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 假如本来在该位上有x, 则这些特别标志 (suid, sgid, sticky) 显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T) 。
3)粘着位(sticky)
eg:
chmod 777 abc
chmod +t abc
等价于
chmod 1777 abc
在以前旧的系统当中,如果一个程序文件一旦设置了粘着位,
那么当该程序中止的时候他的所有指令段将被保存到系统的交换分区当中,
再次运行时可以更快的调入系统.
不过现在的操作系统已经不再使用这种功能了.
但这并不表示这一功能已经完全被废弃.
当一个目录设置为粘着位时,它将发挥特殊的作用,
即当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。
分享到:
相关推荐
在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问。为我们熟知的一个文件或目录可能拥有三种权限,分别是读、写、和执行操作,在这里不做详细说明。我们创建...
Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而且每个用户都对于这些文件具有写权限,为了防止用户对于除自己外的其他用户的文件进行删除操作,所以产生了粘滞位。...
win10原版粘滞键文件
在windows环境下使用nginx+redis+tomcat做负载均衡和session粘滞的实现
在纯js和vue上支持顶部和底部粘性。 安装 npm install vue-sticky-directive --save ES2015 // register globally import Sticky from 'vuejs-sticky-directive' Vue . use ( Sticky ) // or for a single ...
现在书上关于水的粘滞系数和动力粘滞系数的表格、单位弄的很混乱。查了几本书,终于整理出来了合理的系数关系。用程序记下来。
一个小JavaScript文件,它实现了粘滞表标题和左粘滞列,使您可以在EXCEL-Spreadsheets中找到冻结窗格功能。 这是通过使用表标题,所有左列和左上角的副本作为左列的标题来实现的。 然后,根据元素和滚动方向,...
利用粘滞键漏洞来破解管理员权限,在机器上实验过
flutter_sticky_header Flutter实现的粘性标头,其子级为子级。 特征 接受一条条作为内容。 标头可以重叠其条(例如,对于粘性侧面标头很有用)。 通知标题何时滚动到视口之外。 可以向任何方向滚动。 支持重叠...
液体粘滞系数实验数据处理的程序设计,让大家对C语言有所了解。本实验不难,
深深的感受到权限控制的困难,文件权限的机制是Linux系统中的一大特色,除了我们现在所熟知的读(r)、写(w)、执行(x)权限外,还有三个比较特殊的权限,分别为:setuid、setgid和stick bit(粘滞位)。...
阀门粘滞模型,可以自己根据自己的阀门进行进一步的修改。本模型可以使用
可以将粘滞键的效果替换为打开cmd.exe 在XP下直接可用,在win7下需要先获取sethc.exe的Trustedinstaller权限。
粘性导航粘滞导航与滚动过渡
delphi和C写的,代码比较简单,见笑了。
360屏蔽windows键和系统粘滞键.docx
粘滞便笺,而你浏览网页。 请在安装后刷新您的标签以加载粘滞便笺。...登录到Chrome以使您的设备在工作和家中之间同步粘滞便笺。 请注意,便笺不能出现在chrome://或新标签页上。 支持语言:English
“痰性粘滞”理论的实验探讨,吴建奇,李小兵,目的:通过观察补肺化痰方对肺虚痰阻证模型大鼠肺组织里MCP-1、VCAM-1及ICAM-1的影响,探讨痰性粘滞的理论机理。方法:40只SD大鼠随机�
粘滞流体阻尼器的冲击实验及建模仿真,孙靖雅,焦素娟,建立了一种用于描述非牛顿流体阻尼器的冲击缓冲过程的数学模型,并对阻尼器进行相应的实验。利用实验结果对模型参数进行辨识,获