CentOS7建立FTP站点

ftp站点相对于http站点,具有共享文件方便的特点,经过一段时间的折磨,终于算是弄好了。现简单记录一下其过程,以备忘。
1、安装ftp和vsftpd
rpm -q vsftpd ###查看是否安装vsftpd没有安装的话执行下面的命令
yum -y install vsftpd && ftp
chkconfig vsftpd on #####设置开机启动

2、建立和修改ftp用户
安装ftp后系统内会添加一个名称为ftp的用户,通过”vim /etc/passwd”可以查看到,该用户的默认目录为”/var/ftp”,可以勇冠”usermod -d /home/ftp ftp”可以将ftp的用户目录改为”/home/ftp”,并修改目录权限为不可写”chmod -R 555 /home/ftp”。这个非常必要,否则登录不上,即使在后面的vsftpd.conf中设置了也会登录不上,除非关闭selinux,这是vsftp基于安全的考虑,至于其它的设置方法现在还不是很清楚。修改用户”ftp”的密码,”passwd ftp”,会提示输入新密码,重复输入一次就可以了。

3、配置vsftpd.conf
打开vsftpd.conf”vim /etc/vsftpd/vsftpd.conf”,在后面添加
userlist_file=/etc/vsftpd/vftpuser.txt
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
并分别在/etc/vsftpd/vftpuser.txt、chroot_list、user_list中添加用户”ftp”(加一行ftp就行),如果不存在上述文件,就先创建后添加。

4、配制防火墙
vi /etc/sysconfig/iptables
添加下面几行
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -i lo -j ACCEPT
-A INPUT -m state –state ESTABLISHED -j ACCEPT
-A OUTPUT -m state –state ESTABLISHED -j ACCEPT
-P INPUT DROP
-P OUTPUT DROP
-A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT
-A INPUT -p tcp –dport 50000:60000 -j ACCEPT
-A OUTPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT

重新启动iptables和vsftpd就可以了(systemctl restart iptables.service && service vsftpd restart)。
如果是IE浏览器就用”ftp://ftp:密码@你主机的ip地址”登录,添加其它用户只需要创建用户后在vftpuser.txt、chroot_list、user_list中添加相应的用户名就可以了。