我将用户 chroot 到我的/var/www/upload
使用的目录ChrootDirectory /var/www/upload
中etc/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 权限。