首页 > 系统 > Linux教程

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

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

  场景模拟:

  root 用户

  [root@mode-6 ~]# mkdir /oldboy/

  [root@mode-6 /]# ll /oldboy/ -d

  drwxr-xr-x 2 root root 4096 Nov 27 15:46 /oldboy/

  [root@mode-6 ~]# cd /oldboy/

  [root@mode-6 oldboy]# vim test1.sh

  echo ‘My name Is ZhangLiang.’

  [root@mode-6 oldboy]# ll

  total 4

  -rw-r--r-- 1 root root 30 Nov 27 15:44 test1.sh

  普通用户

  [oldboy@mode-6 oldboy]$ cat test1.sh

  echo ‘My name Is ZhangLiang.’

  [oldboy@mode-6 oldboy]$ 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 oldboy]$ 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 # 普通用户 可以成功删除了

  ###############################

  ###############################

  ###############################

  对于目录来说 rwx

  其中r :代表读取目录中的内容

  w:删除、修改 目录里面文件名的权限 【必须配合 x 执行才可以】

  x:代表能否进入到目录里面去

  通过上面的演示,你是否清楚为什么Linux系统拥有w权限却无法删除文件了呢?看了本文的介绍,下次删除文件的时候就可以避免同样的问题了。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/jtjc/Linux/2021-03-08/26609.html

留言与评论(共有 0 条评论)
   
验证码:

潘少俊衡

| 桂ICP备2023010378号-4

Powered By EmpireCMS

爱享小站

中德益农

谷姐神农

环亚肥料

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢潘少俊衡友情技术支持