我正在家里试验 Samba 共享,并试图了解符号链接的工作原理。
我在几台运行 Windows 和 Ubuntu 或 Debian 发行版的机器上有一些网络共享。
我试图了解以下几件事:
是否可以允许在共享内部和跨共享创建符号链接(来自任何客户端),但不允许在共享路径外部创建?例如,如果我有
/srv/share1
,/srv/share2
是否可以链接:/srv/share1/link -> /srv/share1/file
和
/srv/share2/link -> /srv/share1/file
但这两个目录之外没有任何文件?
在安装共享时,是否可以使符号链接在任何客户端或特定客户端上“透明”?在其他机器上安装它们时,我应该使用哪些特定选项来查看链接?
现在使用安装它们cifs
显示符号链接,因为它是普通文件(除了身份验证之外,我没有使用命令设置任何选项)。
这个答案:通过 OSX 和 Samba 删除 Ubuntu 文件夹符号链接会删除目标文件夹的内容似乎支持这种行为。我想更清楚地了解用于管理链接的各种选项的优缺点;特别是以下选项的优点和缺点:
[global] allow insecure wide links = Yes unix extensions = Yes wide links = Yes
代替:
[global] unix extensions = No # Does this imply UNIX clients cannot create symlinks? wide links = Yes
allow insecure wide links
除了与开启相关的明显安全问题之外。
上面的配置来自:https://unix.stackexchange.com/q/5120/181086
这里给出部分答案:在网络驱动器上创建符号链接但它与 Windows 有关。
其他答案如:
Ubuntu + 最新的 samba 版本,符号链接不再适用于在 Windows 中安装的共享
在 NTFS 共享中创建符号链接
并不是最近才出现的,也没有深入探讨它为什么有效或无效。
最后这个我没理解Samba Linux 共享——为什么 Windows 机器不显示/跟随符号链接?。