删除我拥有的目录,其中包含不属于我的文件

删除我拥有的目录,其中包含不属于我的文件

我的主文件夹中有一个目录,其中包含一些构建输出,构建过程已将其 chown 给另一个用户(出于我未知的原因。)我想删除该目录,但不能,因为它不为空,而且我可以'不要删除它包含的文件,因为它们不属于我。当然,我可以递归地 chown 所有文件,但是获取所有隐藏文件是一种痛苦。有直接的方法吗?

答案1

如果您对该目录具有写入权限,则可以删除其中的文件,无论文件的所有者如何。目录上的粘滞位会阻止您删除其他用户的文件,但如果您拥有该目录,您可以取消设置该位...与授予自己写访问权限相同。

然而,一个非空目录由其他用户拥有将是一个更大的问题。

无论如何,如果您可以访问chown目录中的文件,那么您可能已经是超级用户,并且应该能够访问rm -r整个树。虽然这在某种程度上是特定于系统的,例如在 Linux 上,您可以具有CAP_CHOWN允许的功能,chown但不允许CAP_DAC_OVERRIDE绕过缺少写访问的功能。

相关内容