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

相关推荐
x***44013 分钟前
linux 设置tomcat开机启动
linux·运维·tomcat
xcntime7 分钟前
Windows 7 安装 openssh 服务 (微软集成版本)
windows
e***09611 分钟前
MySQL-递归查询
数据库·windows·mysql
2301_8049475813 分钟前
nginx的https的搭建
运维·nginx·https
x.Jessica13 分钟前
关于Flutter在Windows上开发的基本配置时遇到的问题及解决方法
windows·flutter
K***430614 分钟前
httpslocalhostindex 配置的nginx,一刷新就报404了
运维·nginx
于齐龙18 分钟前
服务器常见问题-FAQ
服务器
正在努力的小河22 分钟前
Linux 块设备驱动实验
linux·运维·服务器
PfCoder1 小时前
WinForm真入门(20)——StatusStrip控件解析
开发语言·windows·c#·winform·statusstrip
h***67371 小时前
Prometheus(普罗米修斯)----- Nginx监控
运维·nginx·prometheus