符号链接权限不会随 chmod 改变

Ame*_*ina 12 permissions chmod symlink

我可以访问远程 Linux 机器,每次我创建符号链接时,默认情况下都会使用以下权限创建它: lrwxrwxrwx

如果我尝试更改符号链接的权限(即不是它指向的路径),例如:

chmod g-w my_symbolic_link
Run Code Online (Sandbox Code Playgroud)

chmod运行正确(没有打印错误消息)但是当我再次检查权限时,它们仍然相同(lrwxrwxrwx)。

我正在等待机器管理员的消息,但我想知道这是否是正常行为,或者它是否是特定于盒子的东西。

gee*_*aur 16

这是正常行为。发生的情况可能因操作系统而异(Solaris 至少用于更改链接权限);但由于符号链接不是普通文件,因此权限实际上并没有用于任何事情。(文件权限是文件 inode 的一部分,因此符号链接不会影响它们。)

  • 甚至没有管理员的帮助。文件删除取决于包含目录的权限,而不是文件的权限。(`rm` 专门检查文件是否为只读,除非你通过 `-f`,因为通常不打算删除只读文件,但 `unlink()` 不在乎。试试从有时是 Perl 或 Python。) (4认同)