rhel 7.x设置VSFTPD允许匿名登陆

工作环境中的Server经常没有外网环境,需要自己搭建YUM源。

利用web总觉得会白白浪费一台主机,又不想改变端口,所以就喜欢用Vsftpd。

之前一直在centos 6.x环境上面装vsftpd。在/etc/vsftpd/vsftpd.conf中设置

anon_root=/mnt/ios

然后重启就可以匿名访问该目录了。

现在在rhel 7.x环境中安装vsftpd,同样在/etc/vsftpd/vsftpd.conf中设置

anon_root=/mnt/ios

我擦,竟然还要我账号密码登陆,后来简单的搜索了一下,发现是权限的锅,当文件的用户改为ftp时,解决此问题

ok,又能愉快的下载了。

Linux FTP命令行被动模式连接PureFtpd超时

问题

最近在服务器安装了pureftpd提供给公司同事上传文件用。在交付前使用FileZilla测试没有问题,但是同事反映在Linux下ftp不能使用。
自己在Linux下测试了一下,一直卡在Entering Passive Mode,最后超时。
FTP

原因

而在windows下使用FileZilla测试并没有问题。仔细看了下FileZilla的日志,发现有一行
FTP
想到pureftpd用的是云主机,而云主机的网卡只绑定有内网IP,外网IP应该是绑定在路由了。猜测ftp客户端使用被动模式连接pureftpd的时候,pureftpd返回了一个内网IP。
通过wireshark抓包发现:
FTP
可以知道服务器的确返回了一个内网地址。

方法

那能不能强制pureftpd返回外网IP呢。通过查看pureftpd文档,发现在pureftpd.conf加入:

ForcePassiveIP 1.1.1.1

1.1.1.1为pureftpd外网ip。重启之后问题解决。