目录:
FTP是一种应用非常广泛并且古老的一个互联网文件传输协议
主要用于互联网中文件的双向传输(上传/下载),文件共享
跨平台 linux,Windows
FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输
FTP的默认端口21号(命令端口) 20号(数据端口,主动模式下) 默认被动模式下
FTP程序(软件)vsftp
FTP 服务的客户端工具
linux:ftp,lftp(客户端程序)
Windows: FileZilla,IE,Chrome,Firefox
lftp 和 ftp 工具区别:
- lftp:默认是以匿名用户访问
- ftp: 默认是以用户名/密码方式访问
- lftp可以批量并且下载目录
FTP 的主动模式(服务端向客户端发起连接)
- 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务器的21号端口发起请求
- 服务端的21号命令端口响应客户端的随机命令端口
- 服务端的20号端口主动连接客户端的随机数据端口
- 客户端的随机数据端口进行确认
FTP 的被动模式(客户端向服务端发起连接)
- 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务器的21号端口发起请求
- 服务端的21号命令端口响应客户端的随机命令端口
- 客户端主动连接服务端打开的大于1023的随机数据端口
- 服务端进行确认
搭建简单 FTP 服务
安装vsftpd软件:
yum install -y vsftpd
启动 ftp 服务并添加到开机启动项中:
测试FTP是否安装成功:
- 基于浏览器的访问:
- 基于Windows资源管理器的访问:
- 基于ftp 与 lftp 命令进行连接(linux与linux之间的ftp文件传输)
yum install -y ftp lftp
ftp,lftp 与 vsftp 的关系
FTP 的配置文件详解
主配置文件详解:
可以通过 man 5 vsftpd.conf 来查询
ftp 客户端工具详解
mget和mput可以实现批量的下载与上传,但是每次都会有提示,可以使用prompt来将这个提示关闭
shift+Ctrl+l是清屏
?或help是帮助
ls是列出文件信息
lftp 客户端工具详解(批量操作)
lftp 用户名@远程ip地址
FTP 访问对象控制(黑名单)
将user_list这个文件变成白名单:
只需要配置文件中增加userlist_deny=NO
注意:如果user_list是白名单,那么必须在该文件里的用户才可以访问ftp服务
总结:
- 用户在ftpusers文件中,那么用户不能访问ftp服务器
- 用户在user_list文件中,如果该文件是白名单,那么只在该文件中的用户可以访问ftp服务
- 如果user_list是白名单,用户即在ftpusers中又在user_list中,那么ftpusers拒绝优先
FTP 网络访问控制(限速)
FTP必须支持tcp_wrappers
如何判断一个服务是否支持tcp_wrappers
- ./configure --enable-libwrap 表示支持tcp_wrappers访问控制(源码安装)
- rpm安装(也包括yum安装):用ldd命令来查看这个命令支持哪些模块
- ldd +二进制文件的路径 | grep libwrap* (查到了代表支持)