我已经创建了一个新的 Linux 服务器纯FTPD作为 FTP 服务器
每当我使用 FileZilla 将文本文件从 Windows PC 传输到在 Linux 上运行的 Pure FTP 服务器时,文本文件遭到损坏或修改,经过一些网络搜索,我发现这是 Windows 和 Linux 中 CR 和 LF(回车符和换行符)相关的更改,如下所示这里
这档案传输模式设置为汽车,经过一些网络搜索,我发现当传输模式设置为或处于 ASCII 模式时可能会出现这个问题。
临时解决办法是在 Filezilla 中将传输模式设置为二进制这确实解决了这个问题。
但是我想在接收端(在纯 FTP 服务器内)永久管理这种二进制传输模式,而不是在 Filezilla 中将传输模式设置为二进制。
我尝试按照建议将“disable_ascii”设置为“是”,以设置纯 FTP 配置这里 ,但这没有作用。
是否有其他方法可以设置纯 FTP 仅以二进制模式接收文件,即使客户端以 ASCII 格式发送?
任何帮助都将受到赞赏。
答案1
阅读供应商文档https://download.pureftpd.org/pub/pure-ftpd/doc/README
他们有些同意你的观点:
ASCII 传输非常麻烦,因为它们会消耗客户端和服务器端的 CPU 时间。它们甚至会消耗更多的带宽比二进制传输要大。但它们允许 Windows 客户端将脚本上传到 Unix 服务器,从而消除这些令人讨厌的^M标记。
禁用 ASCII 支持似乎是可能的,尽管不能使用运行时配置指令,但似乎必须在构建时使用配置开关将其禁用:
------------------------ ADVANCED COMPILATION ------------------------
The "./configure" script accepts some arguments you might want to add before
the compilation:
...
/-----------------------
"--without-" switches
-----------------------/
--without-ascii: does not support 7-bits transfers (ASCII) . If you have
customers using Windows clients to send scripts and HTML files, don't use
this option or they will yell at you.