本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ftp 程序包
从 AL2 023 开始 AL2 ,中的ftp软件包在亚马逊 Linux 中不再可用。此决定是我们对安全性、可维护性和现代软件开发实践持续承诺的一部分。作为迁移到 AL2 023 的一部分(或之前),我们建议将对旧版ftp软件包的任何使用迁移到其替代方案之一。
背景
传统的 ftp 程序包在上游已多年未得到积极维护。其源代码的最后一次重要更新发生在 2000 年代初期,且原始源代码存储库已不可用。尽管一些 Linux 发行版提供了安全漏洞补丁,但该代码库基本上仍处于无人维护状态。
建议的替代方案
AL2023 为 FTP 功能提供了几种现代、积极维护的替代方案:
lftp(在 023 AL2 和 AL2 023 中可用)-
一个复杂的文件传输功能程序,支持 FTP、HTTP、SFTP 和其他协议。它比传统的
ftp客户端提供更多功能,并且得到积极维护。安装命令:dnf install lftp。
curl(在 023 AL2 和 AL2 023 中可用)-
一款用于传输数据的多功能命令行工具 URLs,支持 FTP、FTPS、HTTP、HTTPS 和许多其他协议。
默认情况下,在 AL2 023 中可通过
curl-minimal软件包获得。如需更广泛的协议支持,可选择使用curl-full升级至 dnf swap curl-minimal curl-full。 wget(在 023 AL2 和 AL2 023 中可用)-
一个用于从网络下载文件的非交互式命令行实用程序,支持 HTTP、HTTPS 和 FTP 协议。
使用以下方式安装:dnf install wget(并非所有 AL2 023 映像都默认安装)
sftp(在 023 AL2 和 AL2 023 中可用)-
一种通过 SSH 运行的安全文件传输功能协议,提供加密的文件传输。
作为 OpenSSH 程序包的组成部分默认提供。
迁移注意事项
如果您的应用程序或脚本依赖传统的 ftp 客户端,请考虑以下迁移方法:
-
更新脚本以使用现代替代方案:修改您的脚本以使用
lftp、curl、wget、或sftp替代传统的ftp客户端。 -
检查程序包依赖关系:某些应用程序可能在其程序包元数据中将
ftp程序包列为依赖项,即使它们内部早已迁移使用现代协议。在这些情况下,尽管软件ftp包中缺少 AL2 023,但应用程序仍可能在 023 上正常运行。/usr/bin/ftp请检查应用程序的实际要求,而非仅依赖声明的依赖关系。 -
更新应用程序依赖关系:对于您维护的仍声明依赖
ftp程序包但实际并未使用的应用程序,请更新程序包元数据以移除此不必要的依赖项。
安全考虑因素
FTP 协议以明文形式传输数据,包括身份验证凭证。对于安全敏感型应用程序,我们强烈建议使用加密替代方案(例如 SFTP 或 HTTPS),这些方案均受推荐替代工具的支持。