![如何为服务器上的一组(或所有)用户设置全局 sftp chroot](https://linux22.com/image/560713/%E5%A6%82%E4%BD%95%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E4%B8%80%E7%BB%84%EF%BC%88%E6%88%96%E6%89%80%E6%9C%89%EF%BC%89%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%20sftp%20chroot%20.png)
我对 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 处理。