Linux 详解权限_CPP的底层是哲学的博客-CSDN博客
承接上一篇的结尾,一个核心问题是删除一个文件需要什么权限。
删除一个文件并不需要此文件的读写权限。而是它所属目录的写权限。因为你删除这个文件,实际上是对其所属目录进行写操作。
[yzl@VM-4-5-centos ~]$ ll total 88 dr-xrwxr-t 3 yzl yzl 4096 Jul 22 12:19 dir -rw-rw-r-- 1 yzl yzl 78929 Jul 18 12:15 pack.zip --w-rw-r-- 1 yzl yzl 24 Jul 22 12:12 tt [yzl@VM-4-5-centos ~]$ mkdir d [yzl@VM-4-5-centos ~]$ cd d [yzl@VM-4-5-centos d]$ mkdir ddd [yzl@VM-4-5-centos d]$ touch txt [yzl@VM-4-5-centos d]$ ll total 4 drwxrwxr-x 2 yzl yzl 4096 Jul 22 21:13 ddd -rw-rw-r-- 1 yzl yzl 0 Jul 22 21:13 txt [yzl@VM-4-5-centos d]$ cd .. [yzl@VM-4-5-centos ~]$ ll total 92 drwxrwxr-x 3 yzl yzl 4096 Jul 22 21:13 d dr-xrwxr-t 3 yzl yzl 4096 Jul 22 12:19 dir -rw-rw-r-- 1 yzl yzl 78929 Jul 18 12:15 pack.zip --w-rw-r-- 1 yzl yzl 24 Jul 22 12:12 tt [yzl@VM-4-5-centos ~]$ chmod u-r d [yzl@VM-4-5-centos ~]$ cd d [yzl@VM-4-5-centos d]$ ls ls: cannot open directory .: Permission denied [yzl@VM-4-5-centos d]$ rm txt [yzl@VM-4-5-centos d]$ cd .. [yzl@VM-4-5-centos ~]$ chmod u+r d [yzl@VM-4-5-centos ~]$ cd d [yzl@VM-4-5-centos d]$ ls ddd
讯享网
那么,这就衍生出一个实际问题:如果多人在一个公有目录下维护自己的一些文件(一般这时大家都是此目录的other),也就是代表着这些用户都有此目录的写权限。那么每个人都可以任意删除此目录下的任何文件,即使此文件的拥有者和所属组不是你。仅仅因为你有写此目录的权限而已。但这个问题又无法直接回避。
粘滞位的作用就是为了解决此情况。对于一个公有目录。如下d目录。此时other有w权限,也就有安全隐患。
设置粘滞位 chmod +t d

如图,d目录的最后一个权限字符为t,也就杜绝了共有目录下各用户随意删除文件的隐患。

当一个目录被设置为"粘滞位"(用chmod +t)
则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除(公有目录的所有者,如root)
三、该文件的所有者删除 (合理)
粘滞位只能给目录设置。一般是谁设置,谁才能取消。(或者root)
要 多 发 散 性 地 思 考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26245.html