使用ssh版本<4.0时,为sftp重新定义文件夹

我们有一个非常旧的服务器(写这个操作系统的版本有点令人尴尬),但是这是情况, 升级操作系统或者ssh不是因为某些原因。
uname -a > FreeBSD xxx 4.11-STABLE FreeBSD 4.11-STABLE

问题是,有些客户应该使用sftp每天上传文件,而据我所知,由于旧版本的ssh,我们不能使用指令ChrootDirectory来限制文件夹:
OpenSSH_3.5p1 FreeBSD-20030924, SSH protocols 1.5/2.0

我发现一些替代方法时,谷歌search,但其中大部分包括修补openssh,或安装其他程序。 由于“旧”服务器,我们不能安装例如pureftpd

问题是:
在使用OpenSSH_3.5p1或其他一些易于在此服务器上安装的替代方法时,是否有限制文件夹的方法?
我再说一遍: 升级操作系统或SSH不是一个select由于各种原因。
与服务器的情况是,我们不能冒着重启时ssh不工作的风险,ssh是我们达到这个目标的唯一方式。

我觉得有些奇怪,我找不到任何“简单”的解决scheme,一定还有其他许多人想要限制文件夹,也是在我们的服务器是最新的时候。

你总是可以做一个chroot并在chroot里面运行sshd,而不是让sshd chroot本身。

为此,您需要创build一个单独的文件系统层次结构,例如/chroot/ ,它只包含允许login的二进制文件以及这些二进制文件需要执行的库。 您还将创build一个包含sshd用户等的passwd,shadow和group文件。 你可能想要为这个用户的sshd拥有一个单独的IP地址,或者在一个单独的端口上运行它。

在adminarticles.com有一个关于创build一个简单的chroot的基本教程。

既然你正在运行FreeBSD,另一个select是使用内置的jail系统。 我相信这个手册页会给你所需的所有信息 – 基本上是一个带有一些额外的花里胡哨的chroot系统,类似于Solaris区域。