当前位置:首页 > 时尚

电脑搭建ftp服务器

把一台旧笔记本装成 FTP 服务器,电脑搭建比想象中简单得多。电脑搭建上周我把一台 2015 年的电脑搭建 ThinkPad 翻出来,装了 Debian 12,电脑搭建只花了二十分钟就让它变成了局域网里的电脑搭建文件中转站。核心就两步:装软件、电脑搭建配权限。电脑搭建下面按我实际操作的电脑搭建顺序写,每一步都有踩过的电脑搭建坑。

选软件:vsftpd 还是电脑搭建 FileZilla Server?

Linux 上我习惯用 vsftpd,包小、电脑搭建稳定、电脑搭建默认配置就够用。电脑搭建Windows 用户直接上 FileZilla Server,电脑搭建图形界面点几下就能跑起来。电脑搭建我这次用 vsftpd,命令行装完就能用,适合不想折腾的人。

sudo apt install vsftpd

装完服务会自动启动。先用 systemctl status vsftpd 看一眼状态,绿色 running 就对了。

改配置文件:别急着开匿名访问

默认配置里匿名登录是关的,本地用户能登但没写权限。我打开 /etc/vsftpd.conf,改了三处:

local_enable=YES write_enable=YES local_umask=022

第一行允许系统用户登录,第二行给写权限,第三行控制上传文件的默认权限——022 意味着新文件是 644,新目录是 755。改完重启服务:sudo systemctl restart vsftpd。

这里有个坑:如果你用 root 登录会直接被拒,vsftpd 默认禁止 root。我建了个专用账户 ftpuser,家目录设在 /srv/ftp,专门用来传文件。

防火墙和被动模式:局域网里最容易卡住的地方

Ubuntu/Debian 默认用 ufw,放行 21 端口:

sudo ufw allow 21/tcp

但 FTP 有个麻烦事——被动模式需要额外端口。客户端连上 21 之后,服务器会告诉它“数据走 30000-31000 之间的某个端口”。如果防火墙没开这些端口,就会卡在“读取目录列表”那一步。我直接在 vsftpd.conf 里限定范围:

pasv_min_port=30000 pasv_max_port=31000

然后 ufw 放行这个区间:sudo ufw allow 30000:31000/tcp。这一步不做,Windows 资源管理器连上来会一直转圈。

测试:别用浏览器,用命令行

浏览器早就不支持 FTP 了,别浪费时间。Linux 下直接 ftp 192.168.1.100,输入用户名密码,ls 能看到文件列表就成功一半。传个文件试试:put test.txt,然后去服务器上看 /srv/ftp 里有没有。

Windows 用户可以在文件资源管理器地址栏输 ftp://192.168.1.100,但体验一般。我推荐 FileZilla Client,免费、跨平台、能看日志。连不上时看它的消息窗口,比猜原因快得多。

安全提醒:别暴露到公网

FTP 是明文协议,密码和文件内容在网络上裸奔。我只在局域网用,外网访问一律走 SFTP 或者 WireGuard 隧道。如果你非要公网开 FTP,至少配个 TLS——vsftpd 支持 ssl_enable=YES,但证书配置又是一堆事。我的建议:内网用用就行,别给自己找麻烦。

整件事最花时间的不是装软件,而是搞明白被动模式端口和防火墙的关系。一旦通了,后面传几百 GB 的备份文件都很稳。那台旧笔记本现在 24 小时开着,功耗不到 10 瓦,比买 NAS 便宜多了。

分享到: