配置多级 sftp 访问

配置多级 sftp 访问

我正在设置一个 sftp 服务器,客户端只有只读权限。他们将登录到他们的 chroot 目录,这很好,但我需要一个可以访问/写入这些目录的管理员帐户。

/var/www/hosts <- admin chroot  (root:root, 700)
 -- /domain1    <- client1 chroot (root:root, 700)
 -- /domain2    <- client2 chroot (root:root, 700)
 -- /domain3    <- client3 chroot (root:root, 700)

所有 sftp 用户登录后都会转到正确的位置,但管理员帐户可以看到子目录,但无法进入,显然也无法写入。

我尝试为子目录设置 ACL 权限,从而授予管理员帐户写访问权限;这种方法可行,但会破坏客户端的 sftp 访问,因为 sshd 会报告有关 chroot 所有权/权限不正确的致命错误并中止登录。

我该怎么做才能解决我的问题?

答案1

好的,因此我将所有目录的权限更改为 755,在每个域内创建了一个“数据”目录,并将权限设置为 root:admsftp 775,并修改了我的 sshd_config 以包含

ForceCommand internal-sftp -d /data

因此现在当客户端连接时,它们会被强制进入数据目录,仍然是只读的。当然它们可以进入上一级目录,但它们能从那里做的就是返回“数据”目录。

虽然不理想但是满足了我的需要。

相关内容