VSFTP 用户和目录

VSFTP 用户和目录

我陷入困境。我整天都在努力寻找自己做错的地方,但却屡屡碰壁。

我正在尝试做的事情: 以这样的方式设置 FTP,使得某些用户只能访问他们的目录,但更高级别的用户可以访问所有目录。

到目前为止我已在 Google 上搜索过的内容: 我开始,但这并没有达到我想要的效果。然后我用,但一旦我创建了一个用户,它就不允许我创建另一个用户。最后,我决定遵循,但它甚至不允许我创建一个用户。

我正在使用 Ubuntu 10。我可以以 root 用户身份登录 ftp,它会带我进入主目录。如果我尝试使用我在教程中创建的用户登录,它会显示:

Status: Connection established, waiting for welcome message...
Response:   220 (vsFTPd 2.2.2)
Command:    USER mathew
Response:   331 Please specify the password.
Command:    PASS ****
Response:   530 Login incorrect.
Error:  Critical error
Error:  Could not connect to server

编辑:我仍然无法理解 FTP 的 CHROOT。我读过的每个教程看起来都完全不同,让我做不同的事情。我读过的关于 VSFTP 的每个教程也让我做不同的事情。我以为使用 Linux 会更容易配置和设置,但到目前为止,我一直在努力解决一些应该简单的事情。设置整个 LAMP 堆栈比 FTP 更容易。抱歉,我发牢骚了。

答案1

除非有非常特殊的原因,否则不要使用ftp。它不安全且功能有限。

了解更多信息。

如果您仍想继续,您正在寻找的信息称为“chroot”,这是非常有可能的,但您可能不会在 ftp 文档中找到它。从 Google 中的以下内容开始: chroot an FTP user

如果您要切换到ssh可以使用的位置sftp,并且知道需要做什么,则可以在大约 5 分钟内设置 chroot 环境。继续阅读以了解更多信息!

以下信息来自http://www.debian-administration.org/articles/590

子系统 sftp 内部 sftp

您需要配置 OpenSSH 以使用其内部 SFTP 子系统。这需要在/etc/ssh/sshd_config

Subsystem sftp internal-sftp

sshd_配置

必须在 Match 段内指定 Chroot 环境。

匹配组 sftponly
     Chroot目录 /home/%u
     X11转发否
     AllowTcpForwarding 否
     ForceCommand 内部 sftp

请注意ChrootDirectory已指定 以及ForceCommand

权限说明

用户的主目录必须由 root 拥有!这不是可选的。不仅如此,它还必须不能由除 root 之外的任何用户写入。主目录和所有父目录都具有相同的限制。

drwxr-xr-x 21 root root 4096 1 月 1 日 12:51 /
drwxr-xr-x 16 root root 4096 1 月 15 日 14:26 /home
drwxr-xr-x 3 root root 4096 1 月 15 日 14:27 /home/chroot
drwxrwxrwx 2 chroot chroot 4096 1月15日 14:27 /home/chroot/upload

/home/chroot请注意,即使所有者(名为 的帐户)也无法写入用户主目录 ( ) 的权限chroot。我创建了一个允许修改的上传目录作为示例。在此设置中,用户chroot没有对其自己的主目录的写访问权限。这是有意为之,也是 sftp chroot 所必需的。同样,所有父目录都必须具有类似的权限。

答案2

因此,回答我自己的问题...我使用了一个更简单的 FTP 应用程序。 http://www.flynsarmy.com/2010/11/lazy-mans-guide-to-chroot-jailed-ftp/

快,粗略。它不是 SFTP 或 FTPS 或通过 SSH 隧道的 FTP,但它是我所要求的,而且它工作得很好。

相关内容