Linux为什么拥有w权限却不能删除文件
前言
Linux中万物皆文件, 目录是文件, 硬件是文件.
这里的文件和Windows的概念可完全不一样.
经常遇到的是, 对文件拥有w写权限, 可是却提示没有删除权限.
初始化情景
1 | [ahao@localhost ~]$ su - # 切换为root用户 |
分析
先查看文件和文件夹的权限信息
1 | dr-xr-xr-x. 2 ahao ahao 18 10月 31 23:30 testDir |
testDir目录文件
和file文件
的拥有者和用户组毫无疑问是ahao
.
那么对应的权限应该是r-x
和rw-
, 也就是第2-4位
.
那么用户ahao
对file文件
是有w
写权限的, 为什么不能删除呢?
原因在于
删除file文件
, 是对testDir目录文件
进行w
写操作, 而不是对file文件
进行w
写操作.
对于Windows
用户来说, 这是有点绕, 很难理解的.Linux
的w
写权限的意思是, 允许对其子数据进行写入.file文件
的w写权限是允许修改123字符串
.testDir目录文件
的w
写权限是允许修改file文件
.
从文件和文件夹的权限信息可以看出,用户ahao
是没有testDir目录文件
的w
写权限的.
换句话说, 就是不能操作testDir目录文件
下的file文件
, 自然也就不能删除了。
但是, 用户ahao
有file文件
的w
写权限, 所以可以编辑file文件
里的文本内容。
1 | dr-xr-xr-x. 2 ahao ahao 18 10月 31 23:30 testDir |