1.安装系统环境
CentOS7.0
2.vsftpd版本
vsftpd.x86_64 0:3.0.2-22.el7
3.安装
yum -y install vsftpd
4.新建一个根目录下的ftpfile专门用来进行文件传输,并且添加一个只对ftpfile权限的用户ftpuser
mkdir ftpfile
useradd ftpuser -d /ftpfile/ -s /sbin/nologin
chown -R ftpuser.ftpuser /ftpfile/
ll | grep ftp查看
passwd ftpuser修改密码
5.配置ftp服务器,指向ftpfile并且把ftpuser配置上
1)vim /etc/vsftpd/vsftpd.conf 编辑配置文件(一定要细心,如果服务启动失败,多半是配置文件写错了)
详细配置信息参照http://learning.happymmall.com/vsftpdconfig/
2)找到banner节点在后面添加
local_root=/ftpfile
anon_root=/ftpfile
use_localtime=yes
3)找到chroot_list节点,加上
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
4)找到anon节点
设置 anonymous_enable=no
5)末尾添加
pasv_min_port=61001
pasv_max_port=62000
6)在/etc/vsftpd下面vim chroot_list并且写进ftpuser
重启vsftpd服务 service vsftpd restart
7)配置系统防火墙在
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
之前添加
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
-A INPUT -p TCP --dport 20 -j ACCEPT
-A OUTPUT -p TCP --dport 20 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --dport 21 -j ACCEPT
重启防火墙service iptables restart
8)让匿名用户可以操作文件(修改安全策略)
执行 vim /etc/selinux/config
修改SELINUX=disabled
setenforce 0让设置生效,然后重启vsftpd
6.常用命令
启动:sudo service vsftpd start
关闭:sudo service vsftpd stop
重启:sudo service vsftpd restart
7.当设置ftp根目录是一个二级目录时,需要去除该目录的可写权限,否则链接不上
1)ftp配置的根目录
2)去除写权限