【问题标题】:Can't delete directory with 777 permission无法删除具有 777 权限的目录
【发布时间】:2014-07-19 23:34:31
【问题描述】:

我以 root 身份创建了一个目录 /var/dir 并授予如下权限:

#chown -R kute:kute /var/dir
#ls-l /var/dir
#drwxrwxrwx  2 kute kute  4096 May 30 04:04 /var/dir

然后我以 kute 身份登录并尝试删除目录。但它显示为

rm: 无法删除 `/var/dir': 权限被拒绝

我不能给父目录写权限来删除文件

【问题讨论】:

  • 你试过rmdir吗? rm 用于删除文件而不是目录,除非它具有 -R 标志
  • /var的权限是什么?可能是它属于根目录,因此不允许您使用它的任何子目录是有道理的。

标签: linux permissions


【解决方案1】:

那是因为它不是目录。抱歉,这是一个符号链接,您可以在查看权限时看到。无论您做了什么,您没有创建了那个目录。您发布的权限行肯定完整。链接指向的 inode 丢失。

【讨论】:

  • 什么目录?如果符号链接被删除,那么/var/dir 将不再存在。那你说的是什么目录?我之前提到过,您没有发布该链接指向(指向)的位置。
  • 当然,没关系。但是现在的问题是什么?你说你删除了链接。所以这不是问题。您应该能够在您自己的主文件夹中删除您自己的目录。所以这也不是问题。那么问题是什么?或者您的意思是当您尝试使用用户 kute 的权限删除该链接时,您无法删除使用 root 权限创建的链接?然后检查/var的权限!用户kute 没有写入权限。他无法更改该文件夹的内容!
  • OP无法删除目录/var/dir,因为/var可能属于root。
  • 问题是:1)我创建 /var/dir 并给 chown -R kute:kute /var/dir 2)我想给 /var/dir 和 /home/kute/test 之间的符号链接.但是当我尝试它时,我得到了/var/dir/test,我真正想要的是/var/dir-> /home/kute/test
  • 您可以这样做,但同样:如果您违反了对 that 文件夹的权限,则不能写入文件夹 /var。它与该链接本身的权限无关。这就是 unixoid 文件系统的工作原理。您可以尝试的是:将用户 kute 添加到文件夹 /var 所属的组中。然后,如果/var 被设为组可写,用户kute 可以在该文件夹中创建或删除inode。请注意,您应该在授予组成员身份后重新登录,以免混淆。
猜你喜欢
  • 1970-01-01
  • 2013-07-19
  • 2018-09-07
  • 2017-06-12
  • 2012-01-17
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
相关资源
最近更新 更多