环境:
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创建虚拟用户和结合用mysql等的配置方法。
生产中如果要用ftp,最好用虚拟用户,权限好分配,特别是网站程序的上传。



发表评论