一 FTP简介
FTP(File Transfer Protocol)文件传输协议,用于Internet上控制文件的双向传输。
下载:远程主机拷贝文件至本地;
上传:本地主机拷贝文件至远程。
二 FTP模式
主动模式:服务端从20端口主动向客户端发起连接,即20端口向客户端的一个随机端口传输数据。
被动模式:服务端在指定范围内某个端口被动等待客户端连接,即服务端采用随机端口等待客户端的随机端口来访问,从而传输数据。
以服务器角度来分别是否主动和被动。
三 常见FTP程序
1 IIS、Serv-U #windows平台 2 wu-ftpd、Proftpd #Linux平台相对古老 3 vsftpd(Very Secure FTP Daemon) #主流Linux平台FTP服务
四 FTP服务端安装
1 yum install vsftpd -y 2 或 3 rpm -ivh vsftpd-3.0.2-11.el7_2.x86_64
五 相关文件
5.1 主配置文件
/etc/vsftpd/vsftpd.conf
5.2 用户访问控制文件
- /etc/vsftpd/ftpusers(黑名单,禁止登陆FTP服务器用户名单)
- /etc/vsftpd/user_list(黑名单,通过配置可修改为允许访问FTP服务器的白名单)
- /etc/vsftpd/chroot_list(白名单,允许切换目录的用户名单,默认不存在,可手动创建)
黑名单存在,则黑名单优先匹配,黑名单不存在,白名单匹配,若都存在,且相互有重叠,以黑名单为生效。
六 FTP相关用户
6.1 匿名用户
anonymous或ftp
注意:匿名用户不等于无密码,只是密码为空,或者密码为带@符号的任意字符。
6.2 本地用户
使用Linux系统用户和密码
注意:ftp默认禁止root用户登陆,且使用tcpdump -i eth0 -nnX port 21可抓取传输的用户名和密码。
6.3 虚拟用户
管理员自定义的模拟用户
七 注意事项
7.1 关闭防火墙
1 iptables -F (临时清空) 2 service iptables save(保存当前清空状态)
7.2 关闭SELinux
1 [root@imxhy ~]# vi /etc/selinux/config 2 SELINUX=disable