安装 ftp
1 ssh登录服务器
首先检查有没有安装运行 ps -ef |grep vsftpd
2 yum安装vsftpd
yum安装 yum install vsftpd -y
3 修改配置 、增加开机启动
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES改成NO
保存退出
查看vsftpd又没有被设置为开机自启动
chkconfig --list
加入开机启动
chkconfig --level 35 vsftpd on
4 增加FTP用户、并设置密码
cd alidata
mkdir www
useradd ftpadmin -s /sbin/nologin -d /alidata/www
passwd ftpadmin
chown ftpadmin www 或者 chmod 777 www
5 启动ftp
service vsftpd start
来自视频:http://help.aliyun.com/view/11108189_13495137.html?spm=5176.7224473.1997282753.6.6VPxgo
发现这样配置后:可以再windows系统的dos下使用ftp命令登录。 但是不能使用ftp工具列出文件列表。这是怎么回事?
解决ftp无法list目录,配置主动、被动模式
FTP as protocol is a bit of an odd duck. It uses two TCP connections, rather than just the one most protocols use. You have port 21, the command and login connection, and a second connection, the data connection. With passive FTP the second connection is to a randomly assigned available TCP port above 1024. You problems seem to indicate you don't have that second port open in your firewall. There's multiple ways to deal with that: Fixed the PASV port(-range) One solution is to configure VSFTPD to use a small range of ports, or just a single port and create a firewall rule to open those ports:
# /etc/vsftpd/vsftpd.conf # reserve TCP ports 2121-2142 for passive FTP pasv_min_port=2121 pasv_max_port=2142 And then open the port range in your firewall. (The multiport module allows for a port range rather than 20 lines each opening a single port): # iptables -I INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 2121:2142 -j ACCEPT # service iptables save # service iptables restart 摘自:http://serverfault.com/questions/555541/failed-to-retrieve-directory-listing-in-filezilla-connecting-to-vsftpd 关于 ftp主动模式和被动模式 可以参考:http://jackiechen.blog.51cto.com/196075/193883/ 案例:ftp被动模式端口相同导致无法登录:http://u2l.info/3n6kav |
6 /etc/vsftpd/vsftpd.conf详解
开始做,坚持做,重复做可以参考 http://blog.chinaunix.net/uid-24625974-id-2845256.html(有案例)
鸟哥的私房菜 对vsftpd的介绍 http://linux.vbird.org/linux_server/0410vsftpd/0410vsftpd.php
可以连接但是无法列举目录 问题解决:
现象:
命令: LIST
错误: 无法打开传输通道。原因:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
错误: 无法取得目录列表
命令: REST 0解决:
1 关闭selinux
# vi /etc/selinux/config
SELINUX=disabled
需要重启才能生效,重启命令是 #reboot
2 进行下面的设置
# /etc/vsftpd/vsftpd.conf # reserve TCP ports 2121-2142 for passive FTP pasv_min_port=2121 pasv_max_port=2142
# iptables -I INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 2121:2142 -j ACCEPT # service iptables save # service iptables restart