Linux symlinks 上的组所有权 - 如何使默认 link 组所有权与 link 目标相同?

Linux group ownership on symlinks - how to make default link group ownership the same as link target?

我想知道我拥有的 symlinks 的组权限是怎么回事。这里一定有我想念的东西。我看到我的 symlink 组所有权是除目标所有者或 symlink 和目标所在的目录之外的组。

例如:

我有这个目录...

4 drwxr-xr-x      3 my_user group1   4096  Dec 18 15:40 my_files

在其中我有以下目录...

4 drwxr-xr-x      3 my_user group1   4096  Dec 18 15:45 my_link_target

如果我创建一个 symlink 目标 my_link_target,该组默认为树中的组 2 目录...

0 lrwxrwxrwx      1 my_user some_other_group   19  Dec 18 15:46 my_symlink -> my_link_target

我创建了link:ln -s my_link_target my_symlink

symlink 不应该从 link 的目标获取组权限吗?我在这里错过了什么?如何让symlink使用目标目录的权限?

Shouldn't the symlink take the group permissions from the target of the link?

没有。符号链接不以任何方式连接到它指向的文件。符号链接只包含一个可能存在也可能不存在的路径名,并且它以与所有其他文件相同的方式获得其所有者组(创建进程的主要组)。

How can I get the symlink to use the permissions of the target directory?

你不能。您可以使用 chown -h 设置所有者组,但由于符号链接未连接到目标,更改一个不会更改另一个,并且它们不会以任何方式保持同步。