环境:
oracle linux 6.4
1、安装vsftpd
yum install vsftpd
2、快速配置
vim /etc/vsftpd/vsftpd.conf
如果要用匿名上传下载:
anonymous_enable=YES
anon_upload_enable=YES
如果想启用本地用户上传下载:
local_enable=YES
userlist_enable=YES
userlist_deny=NO
#为no时只有/etc/vsftpd/user_list文件中的用户能登录,yes时里面的用户不能登录
还需要修改:
vim /etc/vsftpd/ftpusers
把需要登录的本地用户名注释掉或者删除掉,比如root
因为在/etc/pam.d/vsftpd中有做限制,/etc/vsftpd/ftpusers里面的用户都不能登录
3、iptables放行ftp
如果客户端用主动模式连接:
tcp, 20(20号端口用于数据传输),21(21号端口用于控制连接)
-A INPUT -p tcp -m tcp –dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 20 -j ACCEPT
如果客户端用被动模式连接:
tcp, 21(用于控制连接) >1023(端口号大于1023的随机端口用于数据传输)
有两种方法:
一是加载模块法
vim /etc/sysconfig/iptables-config
#IPTABLES_MODULES=”ip_conntrack_ftp”
#IPTABLES_MODULES=”ip_nat_ftp”
然后只要开放21端口即可
-A INPUT -p tcp -m tcp –dport 21 -j ACCEPT
一种是设定数据传输时的端口范围
vi /etc/vsftpd/vsfptd.conf
pasv_min_port=30001
pasv_max_port=31000
iptables -A INPUT -p tcp –dport 30001:31000 -j ACCEPT
这个只是快速架设的方法,比较简单。生产中如果要用ftp,最好用虚拟用户,权限好分配,特别是网站程序的上传。