我在我的系统中创建用户,它们只使用‘/etc/ssh/sshd_config’将chroot保存到他们自己的主目录中。它工作得很好,但我想让ChrootDirectory将其主目录设置为/home/%u/%u或/home/%u/public。
我尝试过这两种方式,但在使用FlashFXP或FileZilla进行连接时,似乎总是拒绝连接(/home/%u工作)。
权限是可以的,因为当子目录设置为‘ChrootDirectory/home/%u’时,我可以访问它。那我做错什么了?
发布于 2017-10-07 15:34:00
man sshd_config:
ChrootDirectory 将目录的路径名指定为chroot(2)到身份验证后。在会话启动时,sshd(8)检查路径名的所有组件都是根拥有的目录,任何其他用户或组都不能写这些目录。
如果将用户限制为SFTP,则可以使用主目录(但不使用子目录)而不使用技巧:
在特殊情况下,如果只使用sftp,而不是ssh或scp,则可以使用ChrootDirectory %h或ChrootDirectory /some/%u。包含此目录的文件系统必须挂载选项nodev和nosuid或noexec。目录的所有者应该是用户。路径的其他组成部分的所有权必须满足通常的条件。目录中不需要有任何日志文件。
对SFTP的限制使用ForceCommand internal-sftp是可能的。
https://unix.stackexchange.com/questions/396674
复制相似问题