![如何从我的目录中删除其他用户的子目录?](https://linux22.com/image/1340849/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%88%91%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%A0%E9%99%A4%E5%85%B6%E4%BB%96%E7%94%A8%E6%88%B7%E7%9A%84%E5%AD%90%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我的主目录中有一个目录,我与 UNIX 组共享该目录,但现在想要删除它。
如果此目录中有其他用户拥有的文件,我可以使用 rm 删除它,因为该目录归我所有。但子目录则不然,它们归其他用户所有。我无法使用 rm -rf 或 rmdir 删除它们。
me@unix:~/blub.git$ ll
total 3
drwxrwxr-x 5 me collab 5 Nov 30 13:32 objects
me@unix:~/blub.git$ cd objects/ && ll
total 8
drwx------ 2 bob collab 3 Nov 30 13:31 bb
drwx------ 2 bob collab 3 Nov 30 13:31 cf
drwx------ 2 bob collab 3 Nov 30 13:32 e6
me@unix:~/blub.git/objects$ rm -rf bb
rm: cannot remove `bb': Permission denied
我该如何摆脱这个共享文件夹?无需 root 或其他用户的帮助?
或者换一种方式提问:我怎样才能真正 rmdir 一个非空目录,而不必递归 rm -rf 其中的所有内容?
编辑:
要删除目录(使用 rm -r),必须递归删除其所有内容。这要求必须对该目录(如果目录不为空)和所有非空子目录(如果有)具有读写和执行权限。需要读取权限才能列出目录的内容以删除它们。这有时会导致一种奇怪的情况,即无法删除非空目录,因为没有写入权限,因此无法删除其内容;但如果同一目录为空,则可以删除它。
这是真的吗?
答案1
获得拥有子目录的用户以允许您写入它们:
chmod -R 777 directoryname
...之后您就可以删除它们了。
或者让具有 root 权限的人帮助您。