☰
FileZilla Server 0.9.39 汉化绿色版:Windows 老系统 FTP 服务搭建与被动模式配置实战
2026/9/29 2:06:25 网站建设 项目流程

简介:FileZilla Server 0.9.39 汉化绿色版是一款面向 Windows 平台、无需安装即可运行的 FTP 服务端工具,适合需要快速搭建文件传输服务的运维人员、开发者及局域网共享用户。该版本在保留原版多线程引擎、无限制用户数、实时用户与组管理、运行时动态改配置等特性的基础上完成界面汉化,并支持安全密码存储、MODEM Z 传输压缩、基于规则的速度限制与空闲自动断开,可有效解决内网文件分发与远程上传下载需求。压缩包共 11 个文件,以 exe 主程序与界面程序、dll 运行库、xml 配置文件及 htm/txt 说明文档为主,整体约 1.4MB,体积轻巧便于携带。目前已有 530 人学习下载,可作为轻量级 FTP 服务搭建与配置练习的实用参考。

1. FileZilla Server 0.9.39 汉化绿色版:老版本为什么还在被反复翻出来用

如果你在 2024 年之后还在搜 FileZilla Server 0.9.39 汉化绿色版,大概率不是怀旧,而是被现实逼的。新版本 FileZilla Server 1.x 换了配置架构,管理端口、TLS 强制策略、用户数据库全变了,很多老教程直接失效;而 0.9.39 这个版本,解压即用、界面全中文、配置写在FileZilla Server.xml里,对 Windows Server 2016、Windows Server 2012 R2 这类老系统极其友好。更关键的是,它不需要额外装 .NET 运行时,不挑系统补丁,一台内网机器五分钟就能跑起来。

这篇不是科普 FileZilla 是什么,而是把 0.9.39 汉化绿色版从解压到跑通、从权限配置到被动模式端口映射、从踩坑到验证,完整走一遍。适合两类人:一是需要在隔离内网或老旧 Windows Server 上快速搭一个 FTP 服务做文件交换的运维;二是被新版 FileZilla Server 配置劝退、想退回稳定老版本的一线工程师。下面所有步骤都基于 0.9.39 的实际行为,参数怎么改、失败看哪里,我都会写清楚。

2. 汉化绿色版的文件结构与首次启动:先搞清楚你在运行什么

2.1 绿色版目录里每个文件干什么

拿到一个 FileZilla Server 0.9.39 汉化绿色版压缩包,解压后通常不是只有一个 exe。先别急着双击,把目录看清楚,后面排错能省一半时间。典型结构如下:

文件/目录作用能不能删
FileZilla server.exe主服务程序,注册为 Windows 服务不能
FileZilla Server Interface.exe管理界面,连接本地或远程服务不能
FileZilla Server.xml全部配置:用户、权限、端口、TLS不能,改错会丢配置
FileZilla Server Interface.xml管理界面记住的服务器地址和端口可删,重开会重建
uninstall.exe卸载服务注册可删
docs/、locales/说明和语言文件可删,但汉化依赖语言文件

绿色版和安装版最大的区别是:绿色版不会自动写注册表服务项,需要你手动执行一次服务注册。很多人解压后直接开 Interface,发现连不上,就是因为服务根本没注册。

2.2 注册服务并首次进入管理界面

在解压目录打开管理员权限的 CMD,执行下面这条命令。注意路径里有空格,必须加引号:

# 以管理员身份运行,注册 FileZilla Server 为 Windows 服务 # /install 表示安装服务,/start 表示安装后立即启动 "C:\FZServer\FileZilla server.exe" /install /start # 如果只想注册不立即启动,用: "C:\FZServer\FileZilla server.exe" /install # 卸载服务(配置不会删,只是取消注册): "C:\FZServer\FileZilla server.exe" /uninstall

执行完没有任何报错输出就是成功。打开services.msc,应该能看到一个叫FileZilla Server的服务,启动类型默认是自动。如果服务列表里没有,说明/install没生效,常见原因是没用管理员权限,或者 exe 被安全软件拦截。

服务起来后,双击FileZilla Server Interface.exe。第一次会弹一个连接框:

  • Server Address:填127.0.0.1(本机管理)
  • Port:默认14147
  • Password:留空,首次没有密码

点 OK 进入主界面。如果提示Connection to server failed,先确认服务是否在运行,再确认 14147 端口没被占用。这个 14147 是管理端口,不是 FTP 数据端口,两者别搞混。

2.3 管理端口和密码必须先改

进入界面后第一件事不是建用户,而是改管理密码和端口。默认 14147 加空密码,只要机器能被别人碰到,等于把配置权交出去了。菜单Edit → Settings → Admin Interface settings:

  • Admin port:改成比如14148,改完 Interface 会断开,需要重新用新端口连
  • Change admin password:设一个强密码

改完端口后,FileZilla Server Interface.xml里记录的旧端口会失效,重新连接时手动填新端口即可。这一步是血泪经验:很多人配完 FTP 能用,过几天发现配置被人改了,就是管理端口没动。

3. 用户、目录与权限:FTP 能不能用,八成看这里

3.1 建用户和共享目录的最小配置

菜单Edit → Users,右侧点Add,输入用户名,比如ftpuser。然后在Account settings里勾Password,填密码。注意 0.9.39 默认不勾密码就是匿名可登录,别留这个口子。

接着切到Shared folders,点Add选一个本地目录,比如D:\ftpdata。选中这个目录后,在下方权限区勾选:

  • Files:Read、Write、Delete、Append
  • Directories:Create、Delete、List、Subdirs

最小可用配置是 Read + Write + List + Subdirs。只给 Read 就只能下载不能上传,这是排查“能连上但传不上去”的第一检查点。

3.2 权限继承和 Home 目录的坑

0.9.39 的权限是“目录 + 子目录”继承模型。如果你给D:\ftpdata配了权限,但用户登录后看到的根目录不对,检查Shared folders里那个目录左侧的H标记——H表示 Home,用户登录后直接落在这个目录。如果没设 Home,用户会看到所有共享目录的列表,权限边界容易乱。

一个常见需求是:用户只能看自己的目录。做法是给每个用户单独建目录,各自设 Home,不要共用一个大目录再靠子目录权限区分。0.9.39 的子目录权限配置在Shared folders里选中子目录单独设,但管理起来很碎,用户一多就容易配错。

3.3 用 Group 批量管权限,别一个个用户配

用户超过五个,就该用 Group。菜单Edit → Groups,建一个组比如ftp_readonly,在组里配好共享目录和权限,然后把用户加进组。用户自身的Shared folders留空,权限从组继承。

这样做的价值在于:改一次组权限,所有组内用户生效。实际运维里,权限配错导致的事故远多于服务本身故障。用组管理,至少保证同类用户权限一致。

注意:0.9.39 里用户权限和组权限是叠加的,不是覆盖。如果用户自己配了只读,组里配了读写,最终是读写。排查权限异常时,先看用户自身配置,再看所属组。

4. 被动模式与端口映射:FileZilla 无法连接服务器的根因

4.1 主动模式和被动模式到底差在哪

FTP 有两个连接:控制连接(默认 21)和数据连接。主动模式下,服务器主动连客户端的数据端口,客户端在 NAT 后面基本必挂。被动模式下,客户端连服务器指定的一个端口范围,所以现代网络环境一律用被动模式。

FileZilla Server 0.9.39 默认就是被动模式,但端口范围没配好,就会出现“能登录、能列目录、传文件卡死”。菜单Edit → Settings → Passive mode settings:

  • Use custom port range:勾上,填比如50000-50100
  • Use the following IP:填服务器对外的 IP,或者勾Retrieve external IP address from(内网环境别勾,会拿不到)

4.2 防火墙和路由器要放行的端口

服务器本机防火墙要放行:

  • 21 端口(控制连接)
  • 50000-50100(被动数据连接)

如果服务器在路由器后面,路由器上也要把这两个范围映射到服务器内网 IP。只映射 21 是不够的,这是“filezilla 无法连接服务器”最高频的原因。

用 Windows 防火墙命令行放行示例:

# 放行 FTP 控制端口 21 netsh advfirewall firewall add rule name="FTP-21" dir=in action=allow protocol=TCP localport=21 # 放行被动模式数据端口范围 netsh advfirewall firewall add rule name="FTP-Passive" dir=in action=allow protocol=TCP localport=50000-50100

执行后不需要重启,规则立即生效。验证方法是netstat -ano | findstr :21看有没有监听,再从另一台机器用客户端连。

4.3 用客户端验证被动模式是否真的通

服务端配完,别只看界面显示正常。用 FileZilla Client 或 Windows 资源管理器连一次,重点看传输文件时是否卡在LIST或STOR。如果登录成功但列目录超时,基本是被动端口没通。

一个快速判断方法:在客户端开启被动模式(默认就是),连接后看日志里服务器返回的被动端口号,比如227 Entering Passive Mode (192,168,1,10,195,80),最后两个数字换算成端口是195*256+80=50000。如果这个端口不在你放行的范围里,说明服务端被动端口配置没生效。

5. 避坑与排查:0.9.39 汉化绿色版最常见的五个翻车点

5.1 服务注册成功但 Interface 连不上

现象:services.msc里服务在运行,Interface 提示连接失败。

原因:管理端口被改过但 Interface 还用旧端口,或者服务监听的是 IPv6 而 Interface 连的 IPv4。

解决:先netstat -ano | findstr :14147确认端口监听状态。如果端口不对,检查FileZilla Server.xml里的<AdminPort>值。Interface 连接时手动填正确端口。如果服务只监听了::1,在 Settings 里把 Admin bind 改成127.0.0.1。

5.2 用户能登录但传文件失败

现象:登录成功,列目录正常,上传或下载卡住然后超时。

原因:被动模式端口范围没放行,或者服务器返回的被动 IP 是内网地址而客户端在外网。

解决:确认防火墙放行 50000-50100,路由器做了端口映射。如果服务器有公网 IP 但返回的是内网 IP,在 Passive mode settings 里勾Use the following IP填公网 IP。

5.3 中文文件名乱码

现象:上传中文名文件后,客户端看到乱码或问号。

原因:0.9.39 默认用 UTF-8,但老客户端或 Windows 资源管理器可能用 GBK。

解决:Settings →File transfer settings里确认Use UTF-8勾选状态。如果客户端是老版本,取消 UTF-8 可能反而正常。实际建议统一用支持 UTF-8 的客户端,别用系统自带资源管理器传中文名文件。

5.4 绿色版换机器后配置丢失

现象:把整个目录拷到另一台机器,服务注册了但用户和权限全没了。

原因:配置写在FileZilla Server.xml,但服务注册时如果没指定配置路径,可能读的是默认位置。

解决:拷贝时确保FileZilla Server.xml和 exe 在同一目录。注册服务前先确认这个文件存在。如果已经注册错,卸载服务,把 xml 放回目录,重新/install。

5.5 杀毒软件把服务干掉

现象:服务运行一段时间后自动停止,事件日志里有杀软拦截记录。

原因:绿色版 exe 没有数字签名,容易被杀软当可疑程序。

解决:把整个 FileZilla Server 目录加入杀软白名单,包括 exe 和 xml。企业环境里提前和安全管理确认,别等服务被杀了再排查。

6. 进阶:用脚本批量建用户和备份配置

0.9.39 没有官方命令行建用户接口,但配置全在FileZilla Server.xml里,可以直接改 XML 再重启服务。批量建用户时,我一般用 Python 生成用户节点,避免手点几十次。

import xml.etree.ElementTree as ET # 读取现有配置 tree = ET.parse(r'C:\FZServer\FileZilla Server.xml') root = tree.getroot() # 找到 Users 节点 users = root.find('Users') # 批量添加用户,密码这里用明文,0.9.39 支持明文存储 new_users = [('user01', 'Pass@123'), ('user02', 'Pass@456')] for name, pwd in new_users: user = ET.SubElement(users, 'User', {'Name': name}) ET.SubElement(user, 'Option', {'Name': 'Pass'}).text = pwd ET.SubElement(user, 'Option', {'Name': 'Salt'}).text = '' # 权限和目录节点按需补充,这里只建账号 tree.write(r'C:\FZServer\FileZilla Server.xml', encoding='utf-8', xml_declaration=True) print('users added, restart FileZilla Server service to take effect')

这段脚本只做一件事:往 XML 里追加 User 节点。关键参数是Name和Pass,Salt留空表示明文密码。执行前必须停服务,执行后重启服务,否则配置会被运行中的服务覆盖。改 XML 前先备份一份,这是后悔药。

备份配置更简单,直接复制FileZilla Server.xml加日期后缀。我习惯在每次改权限前备份,出问题直接回滚文件再重启服务,比在界面里一点点改回来快得多。

最后说一个验证习惯:配完 FTP 别只用本机连。找一台同网段另一台机器,用客户端完整走一遍登录、列目录、上传、下载、删除。本机连本机走的是回环,很多防火墙和被动模式问题根本暴露不出来。这个习惯帮我提前发现过好几次端口映射配错,希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询