FTP 目录列表失败

FTP 目录列表失败

我为 Linux 服务器创建了一个 FTP 用户,并使用 filezilla 与该服务器连接。

我看到登录成功,但目录列表失败。有什么我错过的改变吗? 在此输入图像描述

我的 vsftpd.conf 文件包含,

chroot_local_user =YES
local_enable = Yes
idle_session_timeout=600
pasv_min_port=2121
pasv_max_port=2142
log_ftp_protocol=YES
syslog_enable=YES
pasv_enable=YES

我在UFW中打开了2121到2142端口。

答案1

您应该检查日志文件(在某些情况下为 /var/log/syslog 或 /var/log/messages 如果未指定)。您可以在/etc/vsftpd.conf中使用此参数进行设置:

xferlog_file=/var/log/vsftpd.log  

不要忘记重新启动服务,重试并检查日志文件中的条目。

多数情况是父目录的权限问题导致用户无法进入该目录。我只是在您的帖子中看到“/var/www”,您可能错过了某些文件夹权限的“x”标志。如果它们由其他用户和/或组拥有,您可能需要将其设置为“其他”。

此外,您应该检查文件 /etc/shells。它应该包含用于登录的用户 shell。这种错误很常见,因为使用 /bin/false 添加用户,但此文件中不允许使用 shell,因此您会因错误而注销。

最后但并非最不重要的一点:尝试在没有“chroot_local_user=YES”的情况下运行服务,以检查是否是登录或权限问题。

但首先:检查日志以查找提示。他们应该为你提供一些东西。

答案2

无法建立被动模式连接。最有可能出现的问题是 tcp 流量无法通过 ftp 客户端和 ftp 服务器之间的被动模式端口发送/接收。

  • 检查客户端上的本地防火墙。

  • 检查互联网路由器上的防火墙和端口转发。

  • 仔细检查服务器上的 UFW 设置。ufw status verbose应该列出这样一行:2121:2142/tcp ALLOW IN Anywhere

  • 寻找其他问题。也许是这个:添加 seccomp_sandbox=NO

答案3

您已设置chroot_local_userYES,并且在图像中,FTP 服务器正在尝试打开/var/www/....- 这是本地用户home目录吗?

相关内容