一、通过rpm包安装很简单直接rpm –ivh vsftpd*
二、通过源码安装方式如下:
1.下载软件http://www.skycn.com/soft/52763.html,放到安装目录/usr/local
chmod 755 vsftpd-2.3.1.tar.gz
建立ftp前的一些准备工作
# useradd nobody
# mkdir /usr/share/empty/
# mkdir /var/ftp/
# useradd -d /var/ftp ftp
# chown root.root /var/ftp
# chmod og-w /var/ftp
2. tar xzvf vsftpd-2.3.1.tar.gz
# cd vsftpd-2.3.1
#make
#make install
如果make install不行的话就手动复制一下
cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
cd ./EXAMPLE/INTERNET_SITE
cp vsftpd.conf /etc
cp vsftpd.xinetd /etc/xinetd.d/vsftpd
/etc/rc.d/init.d/xinetd restart
3.vi /etc/vsftp.conf
最前面添加listen=YES
local_enable=YES #允许本地用户登录
write_enable=YES #允许客户端写命令
启动多个用户同时登陆ftp
one_process_model=NO
chroot_local_user=YES
设定被动ftp连接的端口(在iptables里面要开放这些端口)
pasv_min_port=30001
pasv_max_port=31000
设定ftp的传输速度
local_max_rate=50000
anon_max_rate=30000
一般系统帐户默认是自己的家目录,通过以下方式可以指定到固定目录下
local_root=/home/deeper/ftp
4.。为本地用户设置PAM
cd vsftpd-2.3.1
cp RedHat/vsftpd.pam /etc/pam.d/ftp
5.启动vsftp
添加到开机自启动
vi /etc/rc.local添加一句话
/usr/local/sbin/vsftpd &
手动启动服务
/usr/local/sbin/vsftpd &
察看端口,如果有21端口处于监听状态,则ftp服务运行。
netstat –tln
iptables 的配置文件
vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 30001:31000 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Service iptables restart
记住还要让slinux允许ftp,执行以下命令
1. setsebool -P ftpd_disable_trans 1
2. service vsftpd restart
然后进行测试,ok!