Linux Ubuntu 服务器上的 VSFTPD/FTP 问题 - 故障排除步骤?

jno*_*lte 7 linux ubuntu ftp vsftpd

我正在处理一个我不清楚如何解决的问题,并且我的头发已经拉了一段时间了。我一直在尝试使用以下方法配置 FTP 用户(我们在所有服务器上使用相同的文档)

安装 FTP 服务器

  • apt-get install vsftpd 启用 local_enable 和 write_enable 为 YES
  • 和匿名用户在 /etc/vsftpd.conf 重启 - 服务 vsftpd
  • 重新启动 - 允许更改发生

在 WP Admin 中添加用于 FTP 访问的 WordPress 用户

为用户创建一个假的shell 在/etc/shells 文件的底部添加“usr/sbin/nologin”

添加 FTP 用户帐户

  • useradd 用户名 -d /var/www/ -s /usr/sbin/nologin
  • 密码用户名

将这些行添加到 /etc/vsftpd.conf 的底部
- userlist_file=/etc/vsftpd.userlist - userlist_enable=YES - userlist_deny=NO

将用户名添加到 /etc/vsftpd.userlist 顶部的列表中

  • 重启 vsftpd “服务 vsftpd 重启”
  • 确保为 ftp 打开防火墙“ufw allow ftp” allow
  • 修改 /var/www 目录为用户名“chown -R /var/www”

我也经历了这篇文章中列出的所有内容,但没有运气。我的连接被拒绝。

抱歉上面的文字格式很差。我想你应该已经明白了。这是我们一遍又一遍地做的事情,出于某种原因,它没有在这里合作。

设置为 Ubuntu 12.04LTS 和 VSFTPD v2.3.5

Dan*_*tts 1

这是 iptables 配置的 INPUT 部分。

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)

这里^

ufw-before-logging-input  all  --  anywhere             anywhere            
ufw-before-input  all  --  anywhere             anywhere            
ufw-after-input  all  --  anywhere             anywhere            
ufw-after-logging-input  all  --  anywhere             anywhere            
ufw-reject-input  all  --  anywhere             anywhere            
ufw-track-input  all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ftp state ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ftp-data state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp spts:1024:65535 dpts:1024:65535 state ESTABLISHED
Run Code Online (Sandbox Code Playgroud)

我用 REJECT 突出显示的行拒绝所有入站连接。您放置在底部以允许 ftp 和 ftp-data 的规则永远不会触发。规则也没有ufw-

我不是 ubuntu 用户,也没有方便查看的盒子,但处理防火墙的 init 脚本很可能对前几条规则进行了硬编码,然后您添加配置的位置稍后会发生启动顺序。