零基础Windows/Linux双平台家用/小型办公FTP搭建教程 附权限配置+公网访问
这是一份面向零基础用户的家用与小型办公FTP搭建教程,覆盖Windows、Linux双平台,教程步骤清晰易懂,无需专业基础即可上手,不仅详细讲解两大系统下的FTP服务搭建流程,还配套了实用的权限配置方案,助力安全管理文件访问权限,同时提供公网访问指引,解决跨网络远程共享的问题,满足日常家用存储、小团队协作的文件传输与共享需求。
在云盘容量受限、传文件限速、担心隐私泄露的场景下,自建FTP(文件传输协议)服务器是个“低成本高自由”的方案——既能在局域网内高速传输大文件(如影视素材、企业文档),也能通过简单配置实现跨地域的安全访问。
本文面向零基础用户,分别介绍 Windows 10/11 自带IIS搭建(适合新手、Windows设备为主的环境)和 Linux 系统使用vsftpd搭建(适合轻量服务器、Linux爱好者、长期稳定需求)的全流程,最后补充权限配置、公网穿透的核心操作。
第一部分:Windows 10/11 IIS自带FTP搭建(5分钟入门)
IIS是Windows系统自带的Web/FTP服务器组件,无需下载第三方软件,兼容性极强。
步骤1:启用IIS及FTP服务组件
- 打开「控制面板」→ 点击「程序」→ 选择「启用或关闭Windows功能」;
- 在弹出的窗口中,找到「Internet Information Services」,点击前方的小三角展开:
- 勾选「Web管理工具」下的全部(至少勾选「IIS管理控制台」,方便后续操作);
- 勾选「FTP服务器」下的全部;
- 勾选「万维网服务」下的「应用程序开发功能」→「ASP.NET」(可选,主要为后续拓展Web功能留空间);
- 点击「确定」,系统会自动安装组件,等待进度条结束(无需重启)。
步骤2:创建FTP根目录并设置基础权限
- 在电脑硬盘(建议非系统盘,如D盘、E盘)新建一个文件夹,命名为「MyFTP」(或你喜欢的名字),后续所有共享文件都放在这里;
- 右键点击「MyFTP」→「属性」→「安全」→「编辑」→「添加」;
- 在「输入对象名称来选择」框中输入 everyone → 点击「检查名称」(名字会变下划线加粗,说明识别成功)→ 点击「确定」;
- 在「everyone的权限」中,先勾选「完全控制」或「修改/读取/写入」→ 点击「应用」→「确定」(注意:后续权限配置会细化,这里先给临时权限保证FTP能读写)。
步骤3:IIS中配置FTP站点
- 搜索栏输入「IIS管理器」并打开;
- 左侧展开「本地计算机」→ 右键点击「网站」→「添加FTP站点」;
- 站点信息:
- 站点名称:自定义(如「家庭共享FTP」);
- 物理路径:选择刚才新建的「MyFTP」文件夹;
- 点击「下一步」;
- 绑定和SSL设置:
- IP地址:下拉选择「全部未分配」(局域网内所有设备都能访问);
- 端口:默认21(如果被占用,可改2121等不常用的端口,后续公网访问也要对应改);
- SSL:如果只是局域网临时用,选「无SSL」;如果需要公网访问或长期稳定隐私用,选「需要SSL」(新手可先无SSL练手,后面再补证书配置);
- 点击「下一步」;
- 身份验证和授权信息:
- 身份验证:勾选「基本」(局域网/公网通用,匿名后续单独开);
- 授权:选择「指定用户」→ 输入刚才设置everyone时的临时方案?或者建议新手新建一个专用Windows账户(后续更安全):
- 先最小化IIS,打开「设置」→「账户」→「家庭和其他用户」→「将其他人添加到这台电脑」→「我没有这个人的登录信息」→「添加一个没有Microsoft账户的用户」→ 输入用户名(如
ftpuser)和密码(要复杂,至少8位,有数字字母符号)→ 点击「下一步」; - 回到IIS的授权页面,输入刚才新建的
ftpuser→ 点击「检查名称」→ 勾选「读取」「写入」→ 点击「完成」。
- 先最小化IIS,打开「设置」→「账户」→「家庭和其他用户」→「将其他人添加到这台电脑」→「我没有这个人的登录信息」→「添加一个没有Microsoft账户的用户」→ 输入用户名(如
步骤4:局域网测试访问
- 查看Windows电脑的局域网IP:
- 打开「命令提示符」(搜索cmd)→ 输入
ipconfig→ 找到「无线局域网适配器WLAN」或「以太网适配器以太网」下的「IPv4 地址」(如168.1.100);
- 打开「命令提示符」(搜索cmd)→ 输入
- 手机/另一台电脑访问:
- 手机:下载「ES文件浏览器」「Solid Explorer」等支持FTP的APP → 新建FTP连接 → 主机填局域网IP,端口21(或改后的),用户名密码填
ftpuser的 → 连接成功即可上传下载; - 另一台Windows电脑:打开「此电脑」→ 顶部地址栏输入
ftp://192.168.1.100→ 回车输入用户名密码 → 访问; - Mac电脑:打开「访达」→ 顶部菜单栏「前往」→「连接服务器」→ 输入
ftp://192.168.1.100→ 连接输入密码。
- 手机:下载「ES文件浏览器」「Solid Explorer」等支持FTP的APP → 新建FTP连接 → 主机填局域网IP,端口21(或改后的),用户名密码填
第二部分:Linux vsftpd搭建(轻量、稳定、开源)
vsftpd(Very Secure FTP Daemon)是Linux系统最常用的FTP服务器软件,安全、配置简单、资源占用极低,适合树莓派、阿里云/腾讯云轻量应用服务器等。
本文以Ubuntu 22.04 LTS为例(CentOS/RHEL类似,只是安装命令换yum/dnf)。
步骤1:更新系统并安装vsftpd
- 打开终端(远程的话用SSH工具,如PuTTY、Finalshell);
- 输入以下命令更新系统软件源:
sudo apt update && sudo apt upgrade -y
- 输入以下命令安装vsftpd:
sudo apt install vsftpd -y
- 验证安装是否成功(查看vsftpd状态):
sudo systemctl status vsftpd
如果看到绿色的「active (running)」,说明安装成功并自动启动了。
步骤2:创建专用FTP用户和根目录
- 创建一个不允许登录Linux系统的专用FTP用户(更安全,只能操作FTP目录):
sudo useradd -m -d /home/ftpuser -s /sbin/nologin ftpuser
-m:自动创建用户的家目录;-d /home/ftpuser:指定家目录为FTP根目录;-s /sbin/nologin:禁止该用户登录系统终端。
- 给
ftpuser设置密码:sudo passwd ftpuser
输入两次复杂密码(终端输入密码不显示,直接输就行)。
- 创建一个专门用于上传的子目录(vsftpd默认不允许用户直接对根目录写入,这是安全机制):
sudo mkdir /home/ftpuser/upload
- 修改目录权限:
sudo chown nobody:nogroup /home/ftpuser # 根目录所有者设为nobody,vsftpd安全要求 sudo chmod a-w /home/ftpuser # 根目录去掉所有用户的写入权限 sudo chown ftpuser:ftpuser /home/ftpuser/upload # 上传目录所有者设为ftpuser sudo chmod 755 /home/ftpuser/upload # 上传目录给读写执行权限
步骤3:配置vsftpd核心文件
vsftpd的配置文件是/etc/vsftpd.conf,修改前建议先备份(防止改错):
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
然后用nano或vim编辑器打开(新手推荐nano,操作更简单):
sudo nano /etc/vsftpd.conf
在文件中找到并修改以下参数(有的参数前面有注释,要删掉;没有的直接在文件末尾添加):
# 允许本地用户登录(我们刚才建的ftpuser属于本地用户) local_enable=YES # 允许本地用户写入文件 write_enable=YES # 设置本地用户的umask(上传文件的默认权限,755表示所有者读写执行,其他人读执行) local_umask=022 # 开启chroot,将用户限制在自己的家目录内(不能访问系统其他目录,安全!) chroot_local_user=YES # 因为我们刚才给根目录去掉了写入权限,所以要加这一行,避免报错 allow_writeable_chroot=NO # 哦不对,刚才根目录设了a-w,所以这个是默认的NO就行?或者如果上传在子目录,直接开chroot_local_user=YES,然后子目录有权限就OK # 开启被动模式(解决防火墙问题,公网访问必须开) pasv_enable=YES # 设置被动模式的端口范围(可以自定义,比如50000-50100,后续公网穿透要开放这些端口) pasv_min_port=50000 pasv_max_port=50100 # 如果是公网服务器,还要设置被动模式的公网IP(局域网的话可以注释掉) # pasv_address=你的公网IP地址 # 允许ASCII模式传输(兼容一些旧设备) ascii_upload_enable=YES ascii_download_enable=YES # 设置欢迎信息(可选) ftpd_banner=Welcome to My Home FTP Server!
修改完成后,按Ctrl+O保存,按Enter确认文件名,再按Ctrl+X退出nano。
步骤4:重启vsftpd并配置防火墙
- 重启vsftpd使配置生效:
sudo systemctl restart vsftpd
- 设置vsftpd开机自启:
sudo systemctl enable vsftpd
- 配置Ubuntu自带的ufw防火墙(如果是云服务器,还要去云控制台的安全组开放端口!):
- 开放默认FTP端口21:
sudo ufw allow 21/tcp
- 开放刚才设置的被动模式端口范围50000-50100:
sudo ufw allow 50000:50100/tcp
- 查看防火墙状态:
sudo ufw status
如果是「inactive」,可以用
sudo ufw enable开启(建议开启,更安全)。
- 开放默认FTP端口21:
步骤5:局域网测试访问
和Windows类似,先查看Linux的局域网IP:
ip addr show
找到「WLAN」或「eth0」下的「inet」地址(如168.1.200),然后用手机/另一台电脑的FTP工具访问即可,用户名ftpuser,密码刚才设置的。
第三部分:进阶:公网访问与权限细化
进阶1:公网访问(跨地域用)
局域网FTP只能在家/公司用,要想在外地访问,需要做公网穿透(如果家里的宽带有公网IPv4地址,直接用公网IP+端口映射即可,更稳定;没有的话用第三方穿透工具,如花生壳、ngrok、frp)。
方案A:有公网IPv4地址(最推荐)
- 确认宽带有公网IP:
百度搜索「IP地址」,看显示的IP和路由器WAN口的IP是否一致(路由器后台一般在192.168.1.1或192.168.0.1,账号密码在路由器背面);
- 路由器后台设置端口映射(也叫虚拟服务器):
- 服务名称:自定义(如「MyFTP」);
- 外部端口:21(或改后的2121,避免被扫描);
- 内部端口:21(Linux/Ubuntu默认)或Windows IIS设置的端口;
- 内部IP:你搭建FTP的电脑/服务器的局域网IP;
- 协议:TCP;
- 保存生效;
- 如果是Linux,还要在vsftpd配置中添加
pasv_address=你的公网IP,然后重启vsftpd; - 测试:用外地手机的流量(别连WiFi)访问
ftp://公网IP:端口。
方案B:无公网IPv4地址(第三方穿透工具)
以花生壳免费版为例:
- 下载花生壳客户端(Windows/Linux都有),安装并注册账号;
- 登录客户端,点击「内网穿透」→「添加映射」;
- 选择「TCP」协议,外网域名用花生壳免费送的,外网端口选「随机端口」或自定义(免费版一般只能用随机),内网主机填FTP的局域网IP,内网端口填21;
- 保存后,花生壳会给你一个「外网访问地址」,用这个地址测试即可(免费版限速,适合小文件传输)。
进阶2:权限细化(更安全)
Windows IIS权限细化
- 去掉「MyFTP」根目录的everyone权限,只保留「IIS_IUSRS」(IIS默认用户组)和你刚才新建的
ftpuser的读取权限; - 如果需要匿名用户只读访问:
- 在IIS中找到你的FTP站点 → 双击「FTP身份验证」→ 启用「匿名身份验证」;
- 双击「FTP授权规则」→ 添加允许规则 → 选择「所有用户」或「匿名用户」→ 只勾选「读取」→ 保存;
- 如果需要不同用户访问不同文件夹:
- 在「MyFTP」下新建子文件夹(如「影视」「文档」);
- 分别给不同用户设置文件夹权限(右键属性→安全);
- 在IIS中配置「虚拟目录」或者用「FTP用户隔离」(新手建议先设置子文件夹权限)。
Linux vsftpd权限细化
- 如果需要多个用户访问不同目录:
- 创建多个专用FTP用户:
sudo useradd -m -d /home/ftpuser2 -s /sbin/nologin ftpuser2; - 分别设置chroot(刚才已经开了
chroot_local_user=YES,默认每个用户都在自己家目录); - 如果需要共享一个目录,可以用软链接(
ln -s)或者修改local_root参数(可以单独给每个用户在/etc/vsftpd/user_config_dir下建配置文件);
- 创建多个专用FTP用户:
- 如果需要匿名用户只读访问:
- 在
vsftpd.conf中修改:anonymous_enable=YES anon_root=/var/ftp # 匿名用户的根目录,提前创建并给nobody:nogroup权限 anon_upload_enable=NO # 禁止匿名上传 anon_mkdir_write_enable=NO # 禁止匿名创建文件夹
- 重启vsftpd生效。
- 在
注意事项
- 密码安全:专用FTP账户的密码一定要复杂,避免被暴力破解;
- SSL/TLS加密:公网访问强烈建议开启SSL/TLS(Windows IIS可以用Let's Encrypt免费证书,Linux vsftpd也可以配置);
- 端口修改:尽量不要用默认的21端口,改成2121、33321等不常用的端口;
- 防火墙/安全组:一定要配置好防火墙和云服务器的安全组,只开放必要的端口;
- 定期备份:FTP服务器的重要文件要定期备份到其他硬盘或云盘。
希望这篇教程能帮你快速搭建好自己的FTP服务器!如果有问题,欢迎在评论区留言~

