Linux 删除一个文件需要什么权限?

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)


要 多 发 散 性 地 思 考

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值