差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | |||
软件:ftp [2025/09/01 19:01] – admin | 软件:ftp [2025/09/05 00:04] (当前版本) – admin | ||
---|---|---|---|
行 1: | 行 1: | ||
- | 文件传输协议(File Transfer Protocol,FTP)是一种在网络中进行文件传输的广泛使用的标准协议 | + | 文件传输协议(File Transfer Protocol, FTP)工作在OSI模型的第七层和 TCP模型的第四层应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。其Home目录(/ |
+ | |||
+ | 功能 | ||
+ | |||
+ | 文件上传和下载:允许用户从远程服务器下载文件或将文件上传到远程服务器。 | ||
+ | |||
+ | 目录浏览和管理:支持用户浏览远程服务器上的目录结构,创建、删除和重命名文件或目录。 | ||
+ | |||
+ | 权限控制:通过用户名和密码认证,可以对不同用户设置不同的访问权限(如只读、读写等)。 | ||
+ | |||
+ | 原理 | ||
+ | |||
+ | FTP使用客户端-服务器模型,其中客户端发起请求,服务器响应这些请求。FTP通常使用两个通道来传输数据: | ||
+ | |||
+ | 控制连接(端口21):用于发送命令和接收服务器响应。此连接在整个会话期间保持打开状态。 | ||
+ | |||
+ | 数据连接(端口20或其他随机端口):用于实际的数据传输。根据传输模式(主动模式或被动模式),数据连接的建立方式有所不同。 | ||
+ | |||
+ | 主动模式: | ||
+ | |||
+ | 客户端向服务器发送PORT命令,告知服务器其监听的IP地址和端口号。 | ||
+ | |||
+ | 服务器主动连接到客户端指定的端口以建立数据连接。 | ||
+ | |||
+ | 这种模式在某些防火墙配置下可能会遇到问题,因为防火墙可能会阻止来自外部的入站连接。 | ||
+ | |||
+ | 被动模式: | ||
+ | |||
+ | 客户端发送PASV命令,服务器返回一个IP地址和端口号供客户端连接。 | ||
+ | |||
+ | 客户端主动连接到服务器提供的端口以建立数据连接。 | ||
+ | |||
+ | 这种模式更适用于有严格防火墙规则的环境,因为它避免了服务器主动连接客户端的问题。 | ||
+ | |||
+ | 组件 | ||
+ | |||
+ | vsftpd:非常安全的FTP守护进程(Very Secure FTP Daemon),是Linux系统上广泛使用的FTP服务器软件。 | ||
+ | |||
+ | FileZilla:跨平台的开源FTP/ | ||
+ | |||
+ | ls 列出目录内容 | ||
+ | |||
+ | cd 更改目录 | ||
+ | |||
+ | get 下载文件 | ||
+ | |||
+ | put 上传文件 | ||
+ | |||
+ | mget 和 mput 分别用于批量下载和上传文件 | ||
+ | |||
+ | 部署 | ||
+ | |||
+ | <code -> | ||
+ | # | ||
+ | sudo apt-get -y install vsftpd | ||
+ | |||
+ | # | ||
+ | vi / | ||
+ | #28行 | ||
+ | local_enable=YES | ||
+ | #31行 | ||
+ | write_enable=YES | ||
+ | |||
+ | # | ||
+ | systemctl restart vsftpd | ||
+ | </ | ||