Windows Server 2019 搭建FTP站点

目录

1.添加IIS及FTP服务角色

2.创建FTP账户(用户名和密码)和组

3.设置共享文件夹的权限

4.添加及设置FTP站点

5.配置FTP防火墙支持

6.配置安全组策略

7.客户端测试

踩过的坑说明:


1.添加IIS及FTP服务角色

a.选择【开始】→【服务器管理器】

b.点击【添加角色和功能】

c.在弹出的“开始之前”对话框中,单击“下一步”

d.选择“基于角色或基于功能的安装”,单击“下一步”

e.从服务器池中选择服务器,单击“下一步”

f.选择“ Web服务器(IIS)”,并在弹出的对话框中单击“添加功能”,然后单击“下一步”

g.连续单击“下一步”,到“角色服务”页面

h.选择“FTP服务器”以及 “IIS管理控制台”,单击“下一步”

i.单击“安装”,开始部署服务角色

j.安装完成后,单击“关闭”

2.创建FTP账户(用户名和密码)和组

创建Windows账户(用户名和密码)和组,用于FTP使用。如果您希望匿名用户可以访问,可以不创建FTP用户和密码。

a.在“服务器管理器”中,选择“仪表板> 工具 > 计算机管理”

b.选择“系统工具 > 本地用户和组 > 组”,在右侧空白处右击,并选择“新建组”

c.选择“系统工具 > 本地用户和组 > 用户”,在右侧空白处右击,并选择“新用户”设置“用户名”和“密码”,此处用户名以“ftpadmin”为例

为ftpadmin用户添加【隶属于】组,添加设置ftp组

3.设置共享文件夹的权限

需要在FTP站点为共享给用户的文件夹设置访问及修改等权限

a.在服务器上创建一个供FTP使用的文件夹,选择文件夹,并单击右键选择“属性”。

此处以“work01”文件夹为例

b.在“安全”页签,选择“ftpadmin”用户和“ftp”组,单击“编辑”

4.添加及设置FTP站点

a.在“服务器管理器”中,选择“仪表板 > 工具 > Internet Information Services (IIS)管理器 ”

b.选择“网站”并单击右键,然后选择“添加FTP站点”

c.在弹出的窗口中,填写FTP站点名称及共享文件夹的物理路径,然后单击“下一步” 此处站点名称以“FtpServer”为例

d.输入该弹性云服务器的公网IP地址以及端口号,并设置SSL,单击“下一步”

· 端口号 默认为21,也可自行设置。

·  SSL根据需求进行设置。制作服务器证书

e.设置身份认证和授权信息,并单击“完成”

身份认证

匿名:允许任何仅提供用户名 “anonymous” 或 “ftp” 的用户访问内容

基本:需要用户提供有效用户名和密码才能访问内容。但是基本身份验证通过网络传输密码时不加密,因此建议在确认客户端和FTP服务器之间的网络连接安全时使用此身份验证方法。

授权

允许访问

所有用户:所有用户均可访问相应内容。

匿名用户:匿名用户可访问相应内容。

指定角色或用户组:仅指定的角色或用户组的成员才能访问相应内容。如果选择此项,需要在下面输入框中输入指定的角色或用户组。

指定用户:仅指定的用户才能访问相应内容。如果选择此项,需要在下面输入框中输入指定的用户。

5.配置FTP防火墙支持

如果需要使用FTP服务器的被动模式,则需要配置FTP防火墙支持。

a.双击“FTP防火墙支持”,打开FTP防火墙支持的配置界面

b.配置相关参数,并单击“应用”

数据通道端口范围:指定用于被动连接的端口范围。可指定的有效端口范围为1025-65535。请根据实际需求进行设置

防火墙的外部IP地址:输入该弹性云服务器的公网IP地址

c.重启云服务器使防火墙配置生效

6.配置安全组策略

搭建好FTP站点后,需要在安全组的入方向添加两条放行FTP端口的规则,一条端口为21,一条端口为5000-6000区间。

如果配置了“FTP防火墙支持”,需要在安全组中同时放行FTP站点使用的端口和FTP防火墙使用的数据通道端口。

服务器防火墙默认放行TCP的21端口用于FTP服务。如果选用其他端口,需要在防火墙中添加一条放行此端口的入站规则。

7.客户端测试

打开客户端的计算机,在路径栏输入 “ftp://FTP服务器IP地址:FTP端口”(如果不填端口则默认访问21端口)。弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对 FTP 文件进行相应权限的操作。

踩过的坑说明:

1.因端口号没有在安全组入方向设置放行端口,导致无法访问

2.因设置FTP授权规则中设置用户导致访问FTP文件夹失败,目前FTP授权规则用户设为所有用户可正常访问FTP文件夹。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/114991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电流监测芯片SGM8199A2应用电路设计

SGM8199是一系列具有电压输出功能的双向电流监测芯片,用于监测共模电压范围内分流电阻上的压降,而不受电源电压的影响。该器件具有-0.1V至26V的宽共模电压范围输入。低偏移使得在监测电流时允许分流器上的满量程最大压降为10mV。SGM8199系列提供三种固定…

关于vant 的tabbar功能

1、想要实现tabbar页面A,其他的页面B(非tabbar页面)。 从A页面进入B页面,底部的active选中效果应该被取消掉,但是还是选中A。 按照官网的说法有两个方法 一、根据path路径 二、自定义的model 但是!但是…

贪吃蛇项目实践

游戏背景: 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 实现基本的功能: 贪吃蛇地图绘制 蛇吃⻝物的功能 (上、下、左、右⽅向键控制蛇的动作) 蛇撞墙死亡 蛇撞⾃⾝死亡 计…

rust学习——栈、堆、所有权

文章目录 栈、堆、所有权栈(Stack)与堆(Heap)栈堆性能区别所有权与堆栈 所有权原则变量作用域所有权与函数返回值与作用域 栈、堆、所有权 栈(Stack)与堆(Heap) 栈和堆是编程语言最核心的数据结构,但是在很多语言中,你并不需要深入了解栈与堆。 但对于…

ReentrantLock与synchronized区别之比较(面试)

背景: 我们Java开发中需要保证数据线程安全时有多重选择,直接使用线程安全的集合类,或者某些变量我们通过ReentrantLock来保证安全,或者使用synchronized关键字,那两者有何区别? 备注: Reent…

Linux编程——多任务间通信和同步

在前面的文章中(Linux编程基础——多线程),简单对Linux中的多线程进行了介绍,包括pthread、信号量与互斥锁,本文将对Linux编程中的多任务间通信与同步技术进行相对完整的补充。 在Linux中有两种多任务实现手段&#xf…

ubuntu20.04安装MySQL8、MySQL服务管理、mysql8卸载

ubuntu20.04安装MySQL8 #更新源 sudo apt-get update #安装 sudo apt-get install mysql-serverMySQL服务管理 # 查看服务状态 sudo service mysql status # 启动服务 sudo service mysql start # 停止服务 sudo service mysql stop # 重启服务 sudo service mysql restart登…

中间件安全-CVE复现WeblogicJenkinsGlassFish漏洞复现

目录 服务攻防-中间件安全&CVE复现&Weblogic&Jenkins&GlassFish漏洞复现中间件-Weblogic安全问题漏洞复现CVE_2017_3506漏洞复现 中间件-JBoos安全问题漏洞复现CVE-2017-12149漏洞复现CVE-2017-7504漏洞复现 中间件-Jenkins安全问题漏洞复现CVE-2017-1000353漏…

idea设置字体大小快捷键 Ctrl+鼠标上下滑 字体快捷键缩放设置

双击 按住ctrl鼠标滑轮上划放大就好了 这个双击设置为,Ctrl鼠标下滑 字体缩小就好了

03-垃圾收集策略与算法

垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因…

手把手创建属于自己的ASP.NET Croe Web API项目

第一步:创建项目的时候选择ASP.NET Croe Web API 点击下一步,然后配置: 下一步:

Adobe Photoshop 基本操作

PS快捷键 图层 选择图层 Ctrl T:可以对图层的大小和位置进行调整 填充图层 MAC: AltBackspace (前景) or CtrlBackspace (背景) WINDOWS: AltDelete (前景) or CtrlDelete (背景) 快速将图层填充为前景色或背景色 平面化图层(盖印图层&#xff09…

性能测试LoadRunner02

本篇主要讲:通过Controller设计简单的测试场景,可以简单的分析性能测试报告。 Controller 设计场景 Controller打开方式 1)通过VUG打开 2)之间双击Controller 不演示了,双击打开,选择Manual Scenario自…

《视觉 SLAM 十四讲》V2 第 9 讲 后端优化1 【扩展卡尔曼滤波器 EKF BA+非线性优化(Ceres、g2o)】

文章目录 第9讲 后端19.1.2 线性系统和 KF9.1.4 扩展卡尔曼滤波器 EKF 不足 9.2 BA 与 图优化9.2.1 投影模型和 BA 代价函数9.2.2 BA 的求解9.2.3 稀疏性 和 边缘化9.2.4 鲁棒核函数 9.3 实践: Ceres BA 【Code】本讲 CMakeLists.txt 9.4 实践:g2o 求解 …

100 # mongoose 的使用

mongoose elegant mongodb object modeling for node.js https://mongoosejs.com/ 安装 mongoose npm i mongoose基本示例 const mongoose require("mongoose");// 1、连接 mongodb let conn mongoose.createConnection("mongodb://kaimo313:kaimo313loc…

如何从小白成长为AI工程师笔记

📚入门机器学习基础 对于本科生来说,需要打好数学基础,包括高数、概率论和线性代数。 对于已经上研究生或工作想转行的人来说,可以直接开始学习机器学习算法,重要的是理解算法的原理和推导过程。如果有时间和需要&am…

Roslyn 去除多余using

原因 当你添加新代码的时候VS会自动帮你添加对应的using,但是它只会帮你加不会帮你减 由于运行时并不能使用UnityEditor命名空间里面的东西。你就算加了也会在打包的时候给你报错,除非使用宏包裹起来 因为我们打包都是在打包机上操作的。一般情况下自己…

vue3 拖拽插件 Vue3DraggableResizable

Vue3DraggableResizable 拖拽插件的官方文档 一、Vue3DraggableResizable 的属性和事件 1、Vue3DraggableResizable 的属性配置 属性类型默认值功能描述示例initWNumbernull设置初始宽度&#xff08;px&#xff09;<Vue3DraggableResizable :initW“100” />initHNumb…

sql高级教程-索引

文章目录 架构简介1.连接层2.服务层3.引擎层4.存储层 索引优化背景目的劣势分类基本语法索引结构和适用场景 性能分析MySq| Query Optimizerexplain 索引优化单表优化两表优化三表优化 索引失效原因 架构简介 1.连接层 最上层是一些客户端和连接服务&#xff0c;包含本地sock通…

1 Go的前世今生

概述 Go语言正式发布于2009年11月&#xff0c;由Google主导开发。它是一种针对多处理器系统应用程序的编程语言&#xff0c;被设计成一种系统级语言&#xff0c;具有非常强大和有用的特性。Go语言的程序速度可以与C、C相媲美&#xff0c;同时更加安全&#xff0c;支持并行进程。…