本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ftp
Package
从 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。