如何在 chrooted 环境之外添加指向文件系统的指针 - 通过 OpenSSH 使用 chrooted SFTP

JDS*_*JDS 8 openssh sftp chroot

所以,我很确定这是真的,但我还没有找到直接回答我的问题的具体详细的独立参考。问题是:

如何添加对 chroot 环境之外的资源的访问权限?

我已经使用 OpenSSH 的新 ChrootDirectory 指令设置了 chroot SFTP。

不幸的是,在我的环境中,我无法将 chroot 直接限制到某些用户资源所在的主目录。所以我创建了一个单独的 chroot 区域,并且正在链接所需的资源。

我尝试使用符号链接来做到这一点。例如

ln -s /path/to/resource /chroot/dir/resource
Run Code Online (Sandbox Code Playgroud)

但这有一个“无法规范未找到的目录”错误

所以我的解决方案是使用绑定安装:

mount --bind /path/to/resource /chroot/dir/resource
Run Code Online (Sandbox Code Playgroud)

那奏效了。

真的,我只是想确认符号链接不起作用。指向描述此内容的良好参考的链接也很好。

Oll*_*lli 7

你不能使用符号链接,这是真的。符号链接相对于根目录 ( /),并且在 chroot 中是 chroot 的根,而不是您的文件系统根。

这是proftpd 文档页面,解释了同样的事情。