openssh sftp chroot

我使用ChrootDirectory /var/www/upload在我的etc/ssh/sshd_config中将用户chrooted到目录/var/www/upload

var/www/upload中所有文件的权限为755,所有者为root:upload_user。

不过,我仍然无法修改这些文件。 (获取权限被拒绝的错误。)是否有可能创build一个拥有所有权的子目录upload_user:upload_user

无论如何,是否可以允许我的chroot用户写入他的/目录?

是否有可能创build一个子目录?

是的,如果您创build一个子目录,则可以修改这些文件。

无论如何,是否可以允许我的chroot用户写入他的主目录?

使用主目录进行chrooting用户是非常沮丧的 (但你问“任何意思”):

修改openssh源代码并引入安全漏洞 :

有没有另一种方法来限制SFTP到用户的主目录? 不,我不认为有必要。 如果必须创build一个子目录(用户可以自动将其用于sftplogin),那么可以通过删除session.c:safely_chroot()中的检查来自由地重新引入CVE-2009-2904。

将目录模式更改为770或775.使用755,只有root拥有对其的访问权限。 upload_user组只有read和execute / changedir。