Windows下 创建 FTP 服务器及相关设置

Windows 创建 FTP 服务器

1. 示例功能说明

FTP 服务器根路径下的目录:
C:\USERS\SQQIAN\DESKTOP\FTP
└─localuser
    ├─FTP1                   # 只有用户名为FTP1可以访问,读写均可
    │      FTP11.txt
    │
    ├─FTP2                   # 只有用户名为FTP2可以访问,读写均可
    │      FTP22.txt
    │
    ├─FTP_admin1             # 只有用户名为FTP_admin1可以访问,读写均可
    │      FTP_admin1.txt
    │
    └─public                 # 只有匿名用户可以访问,只能读
            public.txt

虚拟目录路径: # 虚拟目录作为共享目录,FTP1、FTP2只能读,FTP_admin1可读可写
C:\USERS\SQQIAN\DESKTOP\FTP_ALL 
    公共文件.txt

​ 本次测试有三个用户,对应三个用户文件夹,分别为FTP1、FTP2、FTP_admin1,每个用户只能访问自己的文件夹和共享文件夹(FTP_ALL ),匿名用户只能访问 publish 文件夹,不能访问共享文件夹。

功能实现:

  1. 每个用户只能访问自己的文件夹,可读可写;
    • 使用 FTP 用户隔离功能(隔离用户),在 FTP 站点下的根目录名必须为 localuser,用户对应的文件夹放到localuser下,用户名要和文件夹名字相同即可对应访问,匿名用户访问的目录名必须为 public,也要在localuser下;
    • 可读可写通过设置文件夹的 FTP 授权规则实现;
  2. 每个用户都可以访问共享文件夹,只有FTP_admin1用户可读可写,FTP1、FTP2均只能读,匿名用户不能访问;
    • 共享文件通过设置虚拟目录实现;
    • 只有FTP_admin1用户可读可写,FTP1、FTP2均只能读,匿名用户不能访问,设置虚拟目录的 FTP 授权规;

2. Windows 安装 FTP 服务器

以 Win10 为例:控制面板--程序和功能--启用或关闭 Windows 功能,安装 FTP 服务和 IIS 管理控制台

在Windows 管理工具中打开 Internet Information Services(IIS)管理器,即可打开 FTP 服务器的配置界面。

3. 添加用户

在计算机管理--本地用户和组--用户下添加用户,本次测试中添加了三个用户,分别为FTP1、FTP2、FTP_admin1

4. 配置 FTP 服务器

添加 FTP 站点

添加虚拟目录

设置 FTP 用户隔离

设置 FTP 授权规则

授权规则详细设置如下

5. Windows防火墙设置

将 FTP 服务器设置为允许通过

6. 登录测试

匿名登录测试

匿名登录时访问的是 public 文件夹

访问 all 虚拟目录时会提示没有访问权限

用户名登录测试

访问 all 虚拟目录,并向服务器写入 测试文件.txt

查看文件是否写入成功

用户 FTP1 访问虚拟目录无法拷贝文件到服务器,因为没有写入权限

7. 注意事项

  • 如果配置服务器的内容没有生效可以重启服务
  • 创建登录快捷方式登录 FTP 服务器

    C:\Windows\explorer.exe ftp://用户名:密码@192.168.250.101:21

相关推荐
雨中rain2 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
-KamMinG12 分钟前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Bessssss21 分钟前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish21 分钟前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个23 分钟前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&24 分钟前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱26 分钟前
【linux】NFS实验
linux·服务器
王铁柱子哟-29 分钟前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%29 分钟前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
泰伦闲鱼30 分钟前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs