安装 vsftpd
yum install -y vsftpd
cd /etc/vsftpd
ls
目录说明:
/etc/vsftpd/vsftpd.conf 是核心配置文件
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器
/etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服务器的用户列表
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置
+开机自启动。
systemctl enable vsftpd
+启动 FTP 服务。
systemctl start vsftpd
+查看 FTP 服务端口。
netstat -antup | grep ftp
netstat -tnulp | grep vsftpd
常见问题:netstat 未找到命令
yum install -y net-tools
netstat 命令:
netstat -tln 用来查看linux的端口使用情况
配置用户
+创建、删除 ftptest 用户
useradd ftptest
sudo userdel -r newuser
+修改用户密码
passwd ftptest
其它配置
+修改/etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
“i” 进入编辑模式
是否允许匿名登录 FTP 的参数修改为anonymous enable=NO
是否允许本地用户登录 FTP 的参数修改为local_enable=YES
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899
+关闭防火墙
centoos 7操作为 systemctl stop firewalld.service
centoos 6操作位 service stop iptables;
+启动ftp服务器
cetoos 7操作为 systemctl restart vsftpd.service
centoos 6操作为 service vsftpd restart
+赋权,将ftp指定的根目录赋权为777权限
chmod 777 /var/ftp/pub
+检查SElinux状态并关闭
getsebool -a|grep ftp
若centoos 6 则在设置几个权限:
setsebool httpd_enable_ftp_server 1
+[参考资料](https://www.cnblogs.com/LHWorldBlog/p/8516837.html)
扩展知识
FTP的连接一般是有两个连接:
1.客户程和服务器传输命令的连接。
2.数据传送的连接。
FTP服务程序一般会支持两种不同的模式:
1.Port模式
2.Passive模式(Pasv Mode)
+区别
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
FTP 账户访问限制
vim /etc/vsftpd/vsftpd.conf
chroot chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES

