我有一个CentOS服务器运行VSFTPD,所以我可以上传文件到我的网站。
当我连接到FTP时,它会列出根目录中的文件夹,我可以打开除了名为“公共”的文件夹之外的所有文件夹,这只会导致FileZilla挂起“150这里是目录列表。
朋友可以连接到服务器,并访问文件夹就好了。
另外当我访问我提到的其他文件夹时,当我尝试下载文件在那里,它只是挂起传输。
我在vsftpd.conf中设置了被动模式,并打开如下所示的端口:
pasv_enable=Yes pasv_max_port=12100 pasv_min_port=12000 pasv_address=<IP ADDRESS>
的IPtables:
-I INPUT -p tcp --destination-port 12000:12100 -j ACCEPT
我可以连接到其他FTP服务器和传输文件就好了,但我自己的服务器似乎有什么问题。 我也testing了多个FTP帐户。
确保你还加载了“ip_conntrack_ftp”内核模块,它将跟踪实际数据传输所需的相关连接。 作为根(或使用sudo),运行这个:
modprobe ip_conntrack_ftp
还要确保SELinux(如果已启用)不会阻止您的请求,请确保使用公共环境,例如,user_home_dir_t(您的homedir的默认环境)默认情况下不会与FTP服务器一起工作,除非您这样做:
setsebool -P ftp_home_dir 1
还有一些其他的ftp相关的SELinux标志,可能会干扰某些情况。 运行getsebool -a|grep ftp来查看它们,并在文档中查找它们以获得详细的描述。