日期:2014-05-16  浏览次数:20678 次

linux安装FTP
1、系统CentOS5.6,下载ftp文件,见 附件

2、安装
解压:#tar zxvf vsftpd-2.3.1.tar.gz,进入该目录
#make
#make install;

3、配置
#使用standalone启动vsftpd
listen=YES
#绑定到21端口
listen_port=21
#允许本地用户登陆
local_enable=YES
#全局配置可写
write_enable=YES
#用户上传的文件权限
local_umask=022
#使用20端口号来做数据传输
connect_from_port_20=YES
#锁定用户登录目录
chroot_local_user=YES
#所有用户登录目录
local_root=/ftp
#本地用户的下载速度为500KBytes/s
local_max_rate=500000
#客户端超过600S没有动作就自动断线
idle_session_timeout=600
#数据传输时超过120S没有动作自动断线
data_connection_timeout=120
ftpd_banner=Welcome to FTP
#不检测SHELL
check_shell=NO
#可访问的最大client数目
max_clients=50
#每个ip的最大client数目
max_per_ip=5
#启用用户控制,vsftpd将在userlist_file里读取用户列表
userlist_enable=YES
#若userlist_deny为YES,则userlist_file中的用户将不能登录,
#为NO则只有userlist_file的用户可以登录
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

保存退出,:wq;

4、添加用户和ftp目录
(1)在终端下,新建一个上传目录
mkdir /ftp/upload

(2)改变目录的权限
chmod -R 755 /ftp/upload

(3)添加一个新用户并使这个用户有root权限
#useradd -d /ftp -s /sbin/nologin ftpuser
#passwd ftpuser
#chown ftpuser:root /ftp

5、设置防火墙
# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

# vi /etc/sysconfig/iptables
在commit前加入:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT


保存:/etc/rc.d/init.d/iptables save
重启防火墙服务:service iptables restart

6、启动vsftpd
#vsftpd


PS:在客户端使用ftp链接,报错:
[R] Opening data connection IP: 192.168.68.129 PORT: 38848
[R] Data Socket Error: Connection timed out
[R] List Error
注意加粗的38848数字,说明上面设置的防火墙端口范围不够,重新设置
# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 10000:65000 -j ACCEPT,
重启防火墙服务。

参考文章:1、http://www.cnblogs.com/JemBai/archive/2009/02/05/1384413.html
          2、http://crazyidea.iteye.com/blog/1207955