符号链接是否始终与父文件同步?

符号链接是否始终与父文件同步?

我有一个日志文件,该文件仅具有 root 的所有权。该文件由活动的传入日志组成,并随时持续更新。我需要为此文件创建一个符号链接并将所有权更改为 syslog。我不确定符号链接文件是否始终与父文件同步,以及更改所有者是否有效,因为我需要 rsyslog 来选择文件并将其发送到远程 nxlog 服务器。

答案1

符号链接只是对实际文件的引用。没有同步或类似的东西。

如果您查看ls符号链接的输出,您通常会看到类似以下内容的内容:

ls -l /bin/bzcmp 
lrwxrwxrwx 1 root root 6 jul  9  2014 /bin/bzcmp -> bzdiff

正如您所看到的,该文件的/bin/bzcmp大小只有 6 个字节,恰好是bzdiff.您还可以用来readlink查看符号链接指向的位置。

对于链接,没有必要(也不可能)更改权限,因为目标权限将生效。因此也没有必要更改链接的所有者(因为lrwxrwx读写)。

答案2

符号链接不是文件的副本,它们本质上是指向同一文件的指针。这意味着,例如,您无法对权限执行任何操作,如果您无法访问原始文件,那么无论您对符号链接做什么,都无法解决这个问题。

而且,它们始终“同步”,因为它们始终直接指向同一个文件。

答案3

符号链接只是指向文件/文件夹的指针,就像快捷方式一样。它将始终具有 lrwxrwxrwx 权限。正如另一个答案所指出的,目标权限将生效。

与此相反,硬链接是指向同一索引节点的目录项(文件)。即使您更改其他文件的名称,硬链接仍然指向该文件。即使删除原始文件也是如此。当指向该 inode 的所有文件都被删除时,该文件将被删除。更改原始文件或硬链接文件的权限将更改指向同一 inode 的所有文件的权限 - 因此在这种情况下权限是同步的。

相关内容