如何为服务器上的一组(或所有)用户设置全局 sftp chroot

如何为服务器上的一组(或所有)用户设置全局 sftp chroot

可能重复:
使用 OpenSSH 设置 chrooted SFTP 登录

我对 chroot jails 不太熟悉,所以请原谅我的无知。

据我了解,您通常会将用户 chroot 到他们的主目录 - 例如:/home/username。

我想要将所有人(或者理想情况下是特定的一组用户)chroot到某个目录。

例如,用户应该能够访问 /web/TheirUserDir 和 /web/GroupDirThatAreIn - 基本上我想让组“webusers”无法访问 /web。

提前感谢您的想法、意见和答案。

答案1

您所要求的功能无法通过(仅)chroot 实现,因为 /web/userDir 和 /web/groupDir 共享 /web 作为其最低公共根。

强制他们使用 sftp 并限制他们使用 /web 是你所能得到的最接近的方法:

匹配组 webusers
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /web

其余部分可以(并且应该)由 ACL 处理。

相关内容