好的,我来给你整理一个 快速搭建本地 FTP 服务器的指南,涵盖 Windows 和 Linux 两种环境,并给出常用配置示例。
本地 FTP 服务器搭建指南
1️⃣ Windows 环境
方法 1:使用 Windows 自带 IIS FTP 服务
- 安装 IIS FTP 服务器
- 打开 控制面板 → 程序和功能 → 启用或关闭 Windows 功能
- 勾选:
- Internet 信息服务
- FTP 服务器
- FTP 服务
- FTP 扩展性
- 点击 确定 安装
- 配置 FTP 网站
- 打开 IIS 管理器
- 右键 网站 → 添加 FTP 站点
- 站点名称:MyFTP
- 物理路径:例如
D:\FTPFiles
- 绑定和 SSL
- IP 地址:本机 IP 或
All Unassigned
- 端口:默认 21
- SSL:选择“不使用 SSL” (本地测试)
- IP 地址:本机 IP 或
- 身份验证
- 选择 基本身份验证
- 用户权限:指定本地用户
- 启动 FTP 服务
- 在 IIS 管理器中启动 FTP 站点
- 配置防火墙允许端口 21 访问
- 访问 FTP
- 本地访问:
ftp://127.0.0.1
或使用客户端(FileZilla、WinSCP) - 登录使用刚才设置的用户名和密码
- 本地访问:
方法 2:使用第三方软件(FileZilla Server)
- 下载 FileZilla Server:https://filezilla-project.org/download.php?type=server
- 安装并启动
- 配置用户
- 添加用户并指定共享目录
- 设置读/写权限
- 配置端口
- 默认 21,可自定义
- 配置防火墙允许端口访问
- 访问 FTP
- 使用 FileZilla Client 或浏览器访问
ftp://127.0.0.1
- 使用 FileZilla Client 或浏览器访问
2️⃣ Linux 环境
方法 1:安装 vsftpd(最常用)
- 安装 vsftpd
# Ubuntu/Debian
sudo apt update
sudo apt install vsftpd
# CentOS/RHEL
sudo yum install vsftpd
- 启动并设置开机启动
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
- 配置 vsftpd
编辑/etc/vsftpd.conf
:
# 允许本地用户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 设置根目录为用户家目录
chroot_local_user=YES
- 重启服务
sudo systemctl restart vsftpd
- 访问 FTP
- 使用本地用户登录:
ftp 127.0.0.1
- 或用客户端软件(FileZilla、WinSCP)连接
方法 2:使用 Python 快速搭建临时 FTP 服务器
- 安装 pyftpdlib
pip install pyftpdlib
- 启动临时 FTP 服务器
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/path/to/ftp", perm="elradfmw") # 权限:读写删除等
authorizer.add_anonymous("/path/to/ftp") # 可选匿名访问
from pyftpdlib.handlers import FTPHandler
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("0.0.0.0", 21), handler)
server.serve_forever()
- 这是 快速测试用,适合临时调试。
3️⃣ 常见注意事项
- 防火墙设置
- Windows 防火墙或 Linux iptables/ufw 需要允许 FTP 端口(默认 21)。
- 被动模式配置
- FTP 数据传输需要被动模式,设置 PASV 范围和外网 IP。
- 权限控制
- 确保共享目录权限安全,避免匿名写入导致安全问题。
- 端口冲突
- FTP 默认 21,如果端口被占用,可修改配置文件端口。
总结:
- 本地临时测试 → Python
pyftpdlib
- 正式 Windows → IIS FTP / FileZilla Server
- 正式 Linux → vsftpd(轻量、稳定)
发表回复