安装FTP服务器的方法取决于你的操作系统,下面我会分别介绍在Windows 和Linux (CentOS/Ubuntu) 上最常用的安装步骤。
在开始之前,有一件很重要的事需要提醒你:传统的 FTP 协议是明文传输的(包括用户名和密码),在公网上使用非常不安全。 如果只是在内网(家庭或公司局域网)传输文件,或者用于临时测试,可以使用,但如果需要对外提供服务,强烈建议使用SFTP(基于 SSH 的文件传输,通常服务器自带)或FTPS(FTP over SSL/TLS)。
方案一:Windows 系统 (使用 FileZilla Server)
FileZilla Server 是一款免费、开源、功能强大的 FTP 服务器软件,非常适合 Windows 用户。
1、下载与安装
- 访问 FileZilla 官网 [https://filezilla-project.org/](https://filezilla-project.org/)
- 点击 “Download FileZilla Server”,下载 Windows 版本(例如FileZilla_Server_x.x.x_win64-setup.exe)。
- 运行安装程序,一路 “Next”,建议勾选 “Install as service, started with Windows (default)” 让服务随系统启动,监听端口保持默认的14147(这是管理接口,不是FTP数据端口),密码可以为空(首次设置建议留空,后续可改)。
2、初次配置
- 安装完成后,会自动打开FileZilla Server Interface (管理界面)。
- 它会连接到本地的 FTP 服务(输入主机127.0.0.1,端口14147,密码如果没设就留空),点击 “Connect”。
3、创建用户与共享目录
- 在菜单栏点击Edit ->Users。
- 在左侧窗口,点击General 标签页。
- 点击Add 按钮,输入用户名(例如myuser)。
- 勾选Password,并设置密码。
- 在左侧窗口,点击Shared Folders。
- 点击Add 按钮,选择你要共享的本地文件夹(例如D:\FTP_Share)。
- 在右侧为这个用户设置权限:
Files: 勾选 Read (读取), Write (写入), Delete (删除)
Directories: 勾选 List (列出), + Subdirs (子目录), Create (创建), Delete (删除)
- 根据你的需求勾选,如果只是上传/下载,勾选 Read 和 Write 即可。
- 点击OK 保存。
4、防火墙设置
- 打开 Windows 防火墙(或第三方防火墙),放行端口 21 (FTP控制端口)。
- 如果你需要外部设备连接,还需要放行被动模式 (PASV) 的端口范围(通常需要手动指定)。
- 在 FileZilla Server 界面,点击Edit ->Settings。
- 在左侧展开FTP over TLS settings(或直接点Passive mode settings)。
- 勾选Use custom port range: 输入一个范围,例如50000-50100。
- 点 OK 保存。你必须在防火墙中放行这个端口范围!
5、连接测试
- 在另一台电脑或手机文件管理器上,使用 FTP 客户端(如 FileZilla Client)。
- 地址填写服务器 IP 地址,端口填写21,用户名和密码填你刚创建的。
- 如果连接成功,就可以上传下载文件了。
方案二:Linux 系统 (使用 vsftpd)
vsftpd(Very Secure FTP Daemon)是 Linux 上最流行、最轻量、最安全的 FTP 服务器之一。
1. 安装 vsftpd
Ubuntu / Debian 系:
sudo apt update
sudo apt install vsftpd -yCentOS / RHEL / Fedora 系:
sudo yum install vsftpd -y # CentOS 7 及更早
# 或者
sudo dnf install vsftpd -y # Fedora / CentOS 8+2. 启动并设置开机自启
sudo systemctl start vsftpd sudo systemctl enable vsftpd
3. 备份并修改配置文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak # 备份 sudo nano /etc/vsftpd.conf # 使用你喜欢的编辑器,如 vim
4. 关键配置项(根据你的需求修改或添加)
这是一个最简可用 的配置,允许本地系统用户登录,并限制他们在自己的家目录中。
禁止匿名访问 anonymous_enable=NO 允许本地用户登录 local_enable=YES 允许写操作(上传、删除、重命名等) write_enable=YES 限制本地用户在家目录中 (chroot),重要!能显著提升安全性 chroot_local_user=YES chroot 后无法写入,取消下面这行的注释(对于较新版本 vsftpd 需要此设置) allow_writeable_chroot=YES 默认被动模式,设置目录文件权限掩码 local_umask=022 指定被动模式端口范围(防火墙需要开放) pasv_min_port=40000 pasv_max_port=40010
注意: 如果你开启了chroot_local_user=YES,用户会被锁在自己的家目录,较新的 vsftpd 版本(Ubuntu 16.04+)为了安全,默认不允许在 chroot 后对根目录有写权限,如果你的家目录(例如/home/ftpuser)设置了写权限,连接时可能会报错500 OOPS: vsftpd: refusing to run with writable root inside chroot()。
解决办法: 在配置文件中添加一行allow_writeable_chroot=YES,或者将家目录的写权限去掉,改为只有子目录可写(例如mkdir /home/ftpuser/files)。
5. 重启服务使配置生效
sudo systemctl restart vsftpd
6. 添加用户并设置家目录
创建一个新用户,比如叫 ftpuser,密码自行设置 sudo useradd -m -d /home/ftpuser -s /usr/sbin/nologin ftpuser 设置密码 sudo passwd ftpuser 给家目录合适的权限,去除写权限(如果使用了chroot且不添加allow_writeable_chroot) sudo chmod a-w /home/ftpuser 创建一个可写的子目录,files sudo mkdir /home/ftpuser/files sudo chown ftpuser:ftpuser /home/ftpuser/files sudo chmod 755 /home/ftpuser/files
7. 防火墙设置
使用 ufw (Ubuntu):
sudo ufw allow 21/tcp
sudo ufw allow 40000:40010/tcp
sudo ufw reload使用 firewalld (CentOS/Fedora):
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=40000-40010/tcp
sudo firewall-cmd --reload8. 连接测试
在另一台机器上,使用 FTP 客户端,地址填 Linux 服务器的 IP,端口填21,用户名密码为刚才创建的ftpuser。
| 操作系统 | 推荐软件 | 主要步骤 | 最需要注意的点 |
| Windows | FileZilla Server | 安装 -> 创建用户 -> 设置共享文件夹 -> 防火墙放行端口 | 必须配置并放行被动模式端口范围 |
| Linux | vsftpd | 安装 -> 配置/etc/vsftpd.conf -> 添加用户 -> 防火墙放行 | chroot 家目录的写权限 问题 |
安全建议(非常重要):
1、不要使用默认的匿名FTP:除非你明确知道自己在做什么。
2、使用复杂的密码:弱密码是FTP被攻击的主要原因。
3、考虑使用 SFTP (SSH File Transfer Protocol):如果你有SSH访问权限,很多情况下根本不需要额外安装FTP服务器,SFTP更安全,配置也更简单(只需确保SSH服务开启即可),可以使用sftp://user@ip 来连接。
4、定期更新软件:保持 FileZilla Server 或 vsftpd 的版本最新。
5、日志监控:对于生产环境,请关注日志文件(Linux下通常是/var/log/vsftpd.log 或/var/log/messages)。
请根据你的实际需求(操作系统、安全等级、用途)选择合适的方法,如果你只是需要在两台电脑之间偶尔传一个文件,使用Samba (Windows共享) 或HTTP文件服务器 可能比FTP更方便和安全。
文章摘自:https://idc.huochengrm.cn/fwq/25243.html
评论
苏初珍
回复安装FTP服务器需先选择合适的FTP服务器软件,如Serv-U或FileZilla Server,然后按照软件安装向导进行操作,配置服务器设置,创建用户和权限,最后确保FTP服务正常运行。