一、FTP服务介绍
FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。
主要用于互联网中文件的双向传输(上传/下载)、文件共享
跨平台 Linux、Windows
FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输
FTP的默认端口 21号(命令端口) 20号(数据端口)
二、FTP服务的两种工作模式
- 主动模式
客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求
服务端的21号命令端口响应客户端的随机命令端口
服务端的20号端口主动请求连接客户端的随机数据端口
客户端的随机数据端口进行确认
- 被动模式
客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求
服务端的21号命令端口响应客户端的随机命令端口
客户端主动连接服务端打开的大于1023的随机端口
服务端进行确认
思考1:
FTP的主动模式好还是被动模式好?
三、FTP服务的客户端工具
Linux:ftp、lftp
Windows:FileZilla、IE、Chrome、Firefox
lftp和ftp工具区别:lftp可以批量并且下载目录
lftp localhost:~> mirror remote local 下载整个目录到本地
lftp localhost:~> mirror -R local remote rename 上传整个目录到远程同时可以重命名
四、FTP服务的基本配置
搭建服务的思路:
关闭防火墙和selinux
配置yum源
软件三步曲
了解配置文件
根据需求通过修改配置文件完成服务的搭建
启动服务,开机自启动
测试验证
1. FTP服务的基本应用
需求1:允许匿名用户上传文件
需求2:下载其他匿名用户的文件
需求3:开启本地用户消息功能
需求4:禁锢本地用户的家,只能在自己的家中活动
需求5:指定匿名用户和本地用户上传文件的目录
2. FTP服务的访问控制
FTP服务的自身访问控制
-
FTP服务的网络访问控制
支持tcp_wrappers
写法
vsftpd:all 全部拒绝
vsftpd:all EXCEPT 192.168.0.2 拒绝所有除了192.168.0.2
vsftpd:192.168.0.254 拒绝单个ip地址=hosts.allow文件里增加vsftpd:192.168.0.254:deny
vsftpd:192.168.0.0/255.255.255.0 拒绝某个网段
vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254 拒绝某个网段,但是除了某个ip地址
注意:子网掩码不支持192.168.0.0/24这种写法