`.` 和 `..` 目录的所有者应该是什么?

`.` 和 `..` 目录的所有者应该是什么?

.关于和目录的几个问题..

ls -la

drwxr-xr-x  3 root root 4096 Mar 21 12:47 .
drwxr-xr-x 60 root root 4096 Mar 15 14:36 ..
  1. .它们实际上是目录吗..,或者它们像符号链接吗?

  2. 哪个用户/组应该拥有这些目录?例如,在网站文档根目录中,所有内容都归特定用户所有,并且也应该...该用户所有?

  3. 如果将这些目录的所有权或权限更改为不正确或过于严格的内容,是否会出现问题?

答案1

. 和 .. 实际上是目录吗,或者它们像符号链接吗?

我倾向于说两者都不是 - 它们是由任何(内核?文件系统)处理的特殊名称。它们表示当前目录和父目录。显然它们“是”真正的文件夹,但鉴于文件系统是一棵树,它们不是真实的。使用符号链接来实现这种特殊功能将非常浪费。

哪个用户/组应该拥有这些目录?

没有人。或者:显然,谁拥有真正的文件夹。从这里开始,这个问题就没有什么意义了,而且似乎忽略了“。”是当前文件夹,“..”是父文件夹,因此分配特殊权限是毫无意义的。

答案2

.它们实际上是目录吗..,或者它们像符号链接吗?

它们是真实的目录,因为它们是 *NIX shell(还有 MS DOS)表示当前工作目录父目录 小路显然,这些是真实的目录。

如果它们让您感到困惑,请使用-A开关ls来抑制列出它们。

哪个用户/组应该拥有这些目录?

这取决于您当前的工作目录,即您在哪个目录中发出命令ls

如果将这些目录的所有权或权限更改为不正确或过于严格的内容,是否会出现问题?

实际影响取决于您当前的工作目录,但通常将所有权和权限更改为不正确的值会导致问题。

答案3

它们是真正的目录。具体来说,它们是目录中引用自身及其父目录的条目。这听起来像是一个微不足道的陈述,但事实并非如此:目录包含文件的名称(这里的“文件”包括“目录”和文件系统中可能存在的任何其他对象),而描述文件的实际对象(传统上是 Unix 上的 inode)存在于其他地方:目录仅指向这些对象。目录条目不包含权限或所有权或其他任何内容:它们只是名称

这回答了这个问题:.是当前目录的名称:它的权限、所有权和有关它的所有其他内容一定与当前目录相同,因为它当前目录。 类似地,对于..

相关内容