我正在尝试删除我有权限的目录,但由于某种原因,在尝试删除它时出现权限被拒绝错误:
mage@vagrant:/var/www$ ls -la
total 16
drwxr-xr-x 4 root root 4096 Oct 30 22:49 .
drwxr-xr-x 14 root root 4096 Oct 30 22:20 ..
drwxr-xr-x 2 root root 4096 Oct 30 22:20 html
drwxrwxrwx 2 mage mage 4096 Oct 30 22:49 mage
mage@vagrant:/var/www$ whoami
mage
mage@vagrant:/var/www$ rm -R mage
rm: cannot remove 'mage': Permission denied
知道是什么原因导致这种情况发生吗?
答案1
问题是您不是父文件夹的所有者,也不属于该文件夹的组,这就是阻碍您前进的原因。运行sudo
前面带有的相同命令,但不修改/var/www/
文件夹的权限或所有权。
sudo rm -R mage/
文件夹会从其父文件夹继承权限。如果您是文件夹的所有者mage/
,则允许您创建新文件夹和文件并在mage/
文件夹中删除它们。但是,由于mage/
文件夹是文件夹的子文件夹/var/www/
,而您没有写入或执行权限,因此您无法在没有sudo
权限或更改所有权或权限的情况下创建文件或文件夹/var/www/
。如果您/var/www/
拥有权限drwxrwxrwx
,则允许您作为用户删除该文件夹,但不建议这样做,因为它可能会破坏你的 apache2 服务器。
您的文件夹继承了与其父文件夹相同的权限,这就是您无法以普通用户身份删除该文件夹的原因。
希望这可以帮助!
答案2
我遇到了类似的问题
事实证明,我当前有一个进程正在使用我试图删除的目录(即:Visual Studio Code)
当我关闭 Visual Studio Code 时,我可以毫无问题地删除该目录