了解类 Unix 系统中的文件和目录权限

了解类 Unix 系统中的文件和目录权限

我有一个场景,我在目录中拥有一个文件,并且我试图了解文件和目录权限之间的相互作用。具体来说:

如果我是文件的所有者,我是否需要文件和目录的写入和执行权限才能修改或删除文件?或者对文件具有写入和执行权限是否足以删除它?

如果我不是文件的所有者,但我对文件本身具有执行和写入权限,即使我对目录没有写入和执行权限,我仍然可以删除它吗?目录权限在这种情况下起什么作用?

我想澄清何时需要同时考虑文件和目录权限,以及何时仅文件权限就足以对文件执行操作。我的逻辑是“如果更改是在目录级别,则必须始终检查目录权限,然后检查文件权限,否则,仅检查文件权限”我很困惑

答案1

假如我是一个文件的所有者

这很大程度上无关紧要

我是否需要文件和目录的写入和执行权限才能修改或删除文件?或者对文件具有写入和执行权限是否足以删除它?

  • 您需要目录的写入和执行权限才能创建或删除文件
  • 您不需要文件本身的权限即可创建或删除它

如果我不是文件的所有者

无关紧要

我对文件本身有执行和写入权限,我还可以删除它吗

请参阅上文以了解删除文件的权限。

我想澄清何时需要同时考虑文件和目录权限,以及何时仅文件权限就足以对文件采取操作

  • 您需要修改目录的权限才能在其中创建或删除文件
  • 您需要获得文件的权限才能使用其内容
  • 您需要对其目录执行(搜索)权限才能访问文件

答案2

创建和删除文件需要对该文件的写入权限目录。写入文件需要具有写入权限文件

访问控制列表 (ACL) 可以改变一些事情,请参阅man -k acl

相关内容