openssh sftp chroot

openssh sftp chroot

我将用户 chroot 到我的/var/www/upload使用的目录ChrootDirectory /var/www/uploadetc/ssh/sshd_config

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

但是,我仍然无法修改文件。(出现权限被拒绝错误。)如果我创建具有所有权的子目录,可以吗upload_user:upload_user

有没有可能通过任何方式允许我的 chroot 用户写入他的 / 目录?

答案1

我可以创建一个子目录吗?

是的,如果您创建子目录,就可以修改文件。

有没有可能允许我的 chroot 用户写入他的主目录?

对 chroot 用户使用主目录极力劝阻(但你问的是“无论如何”):

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

还有其他方法可以将 SFTP 限制到用户的主目录吗?没有,而且我认为没有必要。如果必须创建一个子目录(用户可以在 sftp 登录时自动 cd 到该子目录)非常麻烦,那么请随意通过删除 session.c:safely_chroot() 中的检查来重新引入 CVE-2009-2904。

答案2

将目录模式更改为 770 或 775。755 仅 root 对其具有写访问权限。upload_user 组仅具有读取和执行/changedir 权限。

相关内容