我在服务器上安装了Ubuntu库存,我试图只允许某些用户将文件scp到他们自己的主目录。我在rbash
和scponly
上阅读了这项工作,对/etc/passwd
进行了必要的更改,并通过ssh或scp在终端中直接连接时验证了它们是否正常工作。< / p>
然而,当FileZilla以任何这些用户身份登录时,它能够围绕ls'ing和cd'ing到其内心的内容,我无法弄清楚原因。
我确保服务器上没有运行FTP守护程序(因此,据我所知,迫使FileZilla通过SFTP / SSH连接并加载为用户指定的shell),除此之外我什么都没有。
答案 0 :(得分:1)
您可能没有禁用/ chrooted SFTP。
我假设您已经遵循了一些过时的chrooting指南。如今,当SFTP默认为OpenSSH sshd
的内置功能时,shell级限制/ chrooting不再适用于SFTP。
如果要禁用SFTP,只需从Subsystem sftp
中删除/etc/ssh/sshd_config
指令即可。虽然它破坏了FileZilla,因为它不支持SCP协议。
如果您想保留SFTP,您有两种选择:
更改Subsystem sftp
以运行子流程/usr/libexec/openssh/sftp-server
而不是internal-sftp
。这应该适用scponly
/ rbash
限制。
如今,您最好使用OpenSSH的内置chrooting功能,而不是scponly
/ rbash
。
请参阅ChrootDirectory
指令:
https://man.openbsd.org/sshd_config