设置 vsftpd 服务器以便我可以访问 Web 根目录

设置 vsftpd 服务器以便我可以访问 Web 根目录

可能我对今天发布的帖子数量感到厌烦了,哈哈。

我正在尝试寻找一个教程,它将向我展示如何在 centos 5.5 上正确安装和设置 vsftpd...这可能是最简单的任务之一,但是我仍然是一个新手,只是想在我们的本地网络上设置一个服务器,它将充当内联网。

我已经安装并运行了所有其他东西...匿名 ftp 可以运行,而且我可以进入 /var/www/html/ 目录,但是我似乎无法让用户帐户运行。

*** CuteFTP 8.3 - build Aug 25 2008 ***

STATUS:>    [06/08/2010 15:04:49] Getting listing ""...
STATUS:>    [06/08/2010 15:04:49] Connecting to FTP server... 192.168.1.136:21 (ip = 192.168.1.136)...
STATUS:>    [06/08/2010 15:04:49] Socket connected. Waiting for welcome message...
        [06/08/2010 15:04:49] 220 (vsFTPd 2.0.5)
STATUS:>    [06/08/2010 15:04:49] Connected. Authenticating...
COMMAND:>   [06/08/2010 15:04:49] USER j0nR
        [06/08/2010 15:04:49] 331 Please specify the password.
COMMAND:>   [06/08/2010 15:04:49] PASS *****
        [06/08/2010 15:04:52] 530 Login incorrect.
ERROR:>     [06/08/2010 15:04:52] Not logged in.
STATUS:>    [06/08/2010 15:04:54] Connection closed.

我都快要把头撞到桌子上了!

我不确定我是否已经正确设置了 ftp 用户,如果您需要任何进一步的信息请告诉我,但您必须像对待新手一样与我交谈。

提前致谢,祝星期五快乐:)


编辑

listen=YES
anonymous_enable=NO
#anon_root=/var/www/html/
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/html/$USER
chroot_local_user=YES
hide_ids=YES
tcp_wrappers=YES
userlist_enable=YES
userlist_deny=NO

这是我的 vsftpd.conf 文件。

答案1

粘贴您的 vsftpd 配置可能会更有用,但请检查以下内容:

  • 允许用户名登录 FTP。如果用户名在 /etc/vsftpd/user_list 中,则需要确保 /etc/vsftpd/vsftpd.conf 中的 userlist_enable=YES 和 userlist_deny=NO。如果用户名不存在,则需要确保如果 userlist_enable=YES,则 userlist_deny=NO 或不存在。

  • 检查 passwd 文件中的 shell 和主目录。输入 vipw 并检查 shell 是否不是 /bin/false(如果是,则将其更改为 /sbin/nologin)- 我不确定为什么会出现这个问题,但我以前见过它导致问题。接下来,将主目录设置为您希望用户登录的任何位置。这不是必需的,但更安全。

  • 确保用户可以访问该目录。执行此操作su j0nR -,然后尝试进入其主目录。如果成功,则可能是密码问题。输入passwd j0nR并设置为您认为应该的值。

祝你好运。

答案2

检查/etc/shells以确保您的用户帐户设置的 shell 包含在其中。如果没有,则帐户无法使用 ftp,就是这样。通常我会/bin/false为允许 ftp 的非交互式 shell 用户以及/sbin/nologin我不想让其拥有 shell 或 ftp 访问权限的用户指定。

如果您有userlist_enable=yes,那么您需要一个userlist_file=/etc/ftpusers(或其他文件)。添加您想要允许访问该文件的用户(除非您userlist_deny=yes也有,在这种情况下,如果用户不在该文件中,则会允许访问)。

答案3

编辑

/etc/vsftpd/vsftpd.conf

并检查 chroot_local_user=YES 是否存在。如果不存在,请添加它。它确保我们要创建的用户只能访问分配给他的目录。并且 local_enable=YES

添加用户

useradd -d /path/to/your/directory jonraw

这将添加一个名为 jonraw 的用户。然后设置密码

passwd jonraw

还有很多事情需要处理,例如更改目录的权限、禁用用户的 ssh 登录等。您可以在以下 URL 中阅读有关 vsftpd 的更多选项。 http://vsftpd.beasts.org/vsftpd_conf.html

相关内容