访问 chroot 监狱之外的目录

访问 chroot 监狱之外的目录

我正在设置一个 SFTP 服务器,多个不同的客户端将使用该服务器。

我的主要问题是,一个客户的员工绝对至关重要不要甚至可以看到其他客户端目录的目录名称。

现在用户janedoe可以 chroot 访问/sftp/janedoe/home.他们无法访问外部目录。

我需要janedoe能够访问/sftp/projects/Walmart-ProjectABC并且我不能janedoe查看目录/sftp/projects/Kmart-ProjectXYZjanedoe将有几个同事需要访问同一目录,因此我不能只将该项目目录粘贴在他们的主目录中。

答案1

使用绑定安装构建每个用户可以看到的内容。

例如(在 Linux 下),chroot janedoe/sftp/janedoe并授予她对该Walmart-ProjectABC项目的访问权限:

mkdir /sftp/janedoe/Walmart-ProjectABC
mount --bind /sftp/projects/Walmart-ProjectABC /sftp/janedoe/Walmart-ProjectABC

如果您想让所有这些都静态,这可以是一行/etc/fstab;如果您想让它们动态,则可以是在切换到用户之前运行的脚本。

作为安装点 ( ) 的目录/sftp/janedoe/Walmart-ProjectABC不应由用户修改或移动,以避免在用户移动它或以某种方式在其中创建文件时必须处理错误。

相关内容