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

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

所以,我很确定这是真的,但我还没有找到一个特别详细的独立参考资料来直接回答我的问题。问题是:

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

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

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

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

ln -s /path/to/resource /chroot/dir/resource

但出现了“无法规范化未找到目录”的错误

所以我的解决方案是使用绑定挂载:

mount --bind /path/to/resource /chroot/dir/resource

这有效。

真的,我只是想确认一下符号链接不起作用。如果能提供一个描述此问题的参考链接就更好了。

答案1

确实,您不能使用符号链接。符号链接与根目录 ( /) 有关,在 chroot 中,它是 chroot 的根目录,而不是您的文件系统根目录。

以下是proftpd 文档页面解释同样的事情。

相关内容