为什么Linux系统拥有w权限却无法删除文件?

linux里面的执行权限表示拥有进入权限;

为什么Linux系统拥有w权限却无法删除文件?
Linux系统删除文件的时候有一些注意事项,如果没有注意到这些细节,就算你拥有某个文件的w权限,
你也无法删除文件。下面就来具体演示一下删除文件的场景,给大家介绍为什么Linux系统拥有w权限却无法删除文件

场景模拟:
#root 用户
  [root@mode-6 ~]# mkdir /aa
  [root@mode-6 /]# ll /aa -d
  drwxr-xr-x 2 root root 4096 Nov 27 15:46 /aa
  [root@mode-6 ~]# cd /aa
  [root@mode-6 aa]# vim test1.sh
  echo ‘aaaaaaaaaaaaaaaaa.’
  [root@mode-6 aa]# ll
  total 4
  -rw-r--r-- 1 root root 30 Nov 27 15:44 test1.sh

#普通用户
  [oldboy@mode-6 aa]$ cat test1.sh
  echo ‘aaaaaaaaaaaaaaaaa.’
  [oldboy@mode-6 aa]$ echo “12312” >> test1.sh
  -bash: test1.sh: Permission denied # 权限不足

  [oldboy@mode-6 oldboy]$ 。/test1.sh
  -bash: 。/test1.sh: Permission denied# 权限不足

#root 用户
  [root@mode-6 oldboy]# chmod 747 test1.sh
  [root@mode-6 oldboy]# ll
  total 4
  -rwxr--rwx 1 root root 30 Nov 27 15:44 test1.sh
  
出现问题:这是在使用其他用户进行 rwx操作都可以成功执行。但是进行删除操作时却失败

  [oldboy@mode-6 aa]$ rm -f test1.sh
  rm: cannot remove `test1.sh‘: Permission denied # 权限不足

为什么Linux系统拥有w权限却无法删除文件?
  其中文件名称保存在上级目录的block 中,所以能否对文件进行删除,是看上级目录是否有相应的 w 权限。
  [root@mode-6 /]# ll /oldboy/ -d
  drwxr-xr-x 2 root root 4096 Nov 27 15:46 /oldboy/# 其他用户没有 w 权限。所以不能删除
  [root@mode-6 /]# chmod 757 。/oldboy/# root 用户
  [root@mode-6 /]# ll /oldboy/ -d
  drwxr-xrwx 2 root root 4096 Nov 27 15:46 /oldboy/ # 权限已修改
  [oldboy@mode-6 oldboy]$ rm -f test1.sh # 普通用户 可以成功删除了
  ###############################
为什么Linux系统拥有w权限却无法删除文件?
1.对于文件来说,文件名称保存在上级目录的block 中,所以能否对文件进行删除,是看上级目录是否有相应的 w 权限。

2.对于目录来说 rwx
 其中r :代表读取目录中的内容
 w:删除、修改 目录里面文件名的权限 【必须配合 x 执行才可以】
 x:代表能否进入到目录里面去

 

posted @ 2023-04-05 14:35  vmsysjack  阅读(368)  评论(0)    收藏  举报