我在服务器上安装了一个股票 Ubuntu,我试图只允许某些用户将文件 scp 到他们自己的主目录。我阅读了rbashscponly为了完成这项工作,对 /etc/passwd 进行了必要的更改,并验证它们在通过 ssh 或 scp 直接在终端中连接时是否正常工作。

但是,当 FileZilla 以这些用户中的任何一个身份登录时,它能够尽情地在 ls'ing 和 cd'ing 周围蹦蹦跳跳,我不知道为什么。

我确保服务器上没有运行 FTP 守护程序(因此,据我所知,强制 FileZilla 通过 SFTP/SSH 连接并加载为用户指定的 shell),除此之外我什么都没有.

请您参考如下方法:

您可能没有禁用/chroot SFTP。

我假设您已经遵循了一些过时的 chrooting 指南。如今,当 SFTP 默认是 OpenSSH 的内置功能时 sshd ,shell 级别的限制/chrooting 不再适用于 SFTP。

如果要禁用 SFTP,只需删除 Subsystem sftp来自 /etc/ssh/sshd_config 的指令.虽然它破坏了 FileZilla,因为它不支持 SCP 协议(protocol)。

如果要保留 SFTP,有两种选择:

  • 更改Subsystem sftp运行子进程/usr/libexec/openssh/sftp-server而不是 internal-sftp .这应该使 scponly/rbash限制适用。
  • 现在,您最好使用 OpenSSH 的内置 chrooting 功能,而不是 scponly。/rbash .
    ChrootDirectory指示:
    https://man.openbsd.org/sshd_config

  • 评论关闭
    IT序号网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!