这文档说明sftp-server
选项-d
与 sshd_config ChrootDirectory 选项结合使用很有用我也见过一些答案在互联网上,为了限制用户到特定的文件夹,您应该将选项-d
与结合起来ChrootDirectory
,就像文档中提到的那样。
然而,在测试时(服务器和客户端都运行 Windows 10),我发现ChrootDirectory
仅凭这一点就足够了,用户永远无法访问父文件夹:
Subsystem sftp sftp-server.exe
AllowUsers test
ForceCommand internal-sftp
ChrootDirectory "E:\Some\Path\To\Some\Folder"
所以我的问题是,什么时候应该-d
使用该选项以及什么时候才ChrootDirectory
足够?
答案1
您可以将 chroot 切换到共享目录/some/directory
,其中每个用户都有自己的子目录。
然后您需要设置-d
为/%u
。这样每个用户都会从他/她的目录开始,但可以访问其他目录。