我想知道是否可以让用户在启用 rbash 的情况下进行 sftp 访问,如果不行的话有没有 rbash 的替代品?
谢谢
答案1
据我所知 - rbash 不适用于 sftp。shell,scp,可以。sftp;不行。
可能最好的选择是 rssh。它允许 chrooting 和对以下任何/所有内容的特定访问:scp、sftp、cvs、rdist 和 rsync。
最棘手的部分是创建每个用户的 chroot“jails”,因为每个 jail 必须包含您允许运行的二进制文件的所有内容(目录结构和共享库)(例如,sftp 通常驻留在 /usr/libexec/sftp-server 中)。但您甚至可以在几个 jail 之间使用“硬链接”来节省在每个 jail 中复制每个共享库的空间。
答案2
老话题,但值得在这里放上正确答案:为了允许 SFTP 与 SSH 一起工作,需要更改 sshd_config 中的子系统:
~$ grep Subsystem /etc/ssh/sshd_config
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp