将 SFTP 访问限制为仅可访问根文件夹内的某些文件夹

将 SFTP 访问限制为仅可访问根文件夹内的某些文件夹

在我的SFTP服务器中,我打算有一个根文件夹,其中包含几个用于单独实体的文件夹。这些实体文件夹有自己的子目录,这些子目录属于特定功能。

例如,用户登录SFTP会话并可以看到文件夹 A、B 和 C。每个文件夹中都有文件夹 D、E 和 F。

我希望SFTP用户仅被允许访问 A、B 和 C 中的文件夹 D。跨 A、B 和 C 的文件夹 E 和 F 不允许该用户访问。预计只有一个用户可以使用SFTP

我查看了该sshd_config文件,但不确定如何使用现有策略来强制执行。也许我可以为此设置用户/组策略Windows 10,但它是否适用于sshd daemon

答案1

在大多数 SSH/SFTP 服务器(包括 Bitvise 和 OpenSSH)中,每个 SSH 帐户都与一个 Windows 用户帐户完全对应。这意味着您可以使用标准 Windows 文件权限(访问权限)来实现这一点,而尝试寻找特定于 SFTP 的解决方案毫无意义。

  1. 从根文件夹中删除通用的“用户”访问权限(执行此操作之前可能需要禁用继承);
  2. 为根文件夹和顶级文件夹添加不可继承的“用户:读”访问权限;
  3. 为每个子文件夹 D 添加可继承的“TheSftpUser:读”访问权限;
  4. 根据需要添加其他用户对其他文件夹的访问权限。

相关内容