如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
在 Windows Server 2008 R2 发布后,gOxiA 就开始着手于相关的测试和评估。IIS 是重点测试和评估之一!而今天与大家分享的是如何在 IIS7 上配置 FTP7 使用 IIS管理凭据 方式进行身份验证。提到 MSFTP 服务,恐怕知道的人多,但是真正使用的人少!特别是 IDC 环境下多数会选择 Serv-U FTP Server,gOxiA 从 Windows Server 2008 开始就不再使用 Serv-U,原因很简单!Serv-U 不是免费的,此次 Serv-U 默认存在安全隐患。况且开放 FTP 也是为了方便自己维护网站,下载上传资料用!所以用系统自身的软件不是更好!维护也相对容易很多!但是,使用过 MSFTP 的朋友知道从 FTP7 开始,微软才为 MSFTP 设计提供了对非 Windows 身份验证功能的支持,也就是说如果我们要访问 MSFTP 则不必再在系统里添加用户帐号,而可以使用 IIS 来统一管理单独的凭据!现在我们再也不用担心,使用 MSFTP 会存在用户帐号安全隐患的问题。

这是一篇 Step by Step,所以其中涉及到的相关原理及知识内容不作过多介绍!我们将通过 IIS7 提供的 IisManagerAuth 身份验证模块来实现 IIS管理凭据的 FTP 帐号。具体步骤如下:
在 开始配置之前,我们需要修改相关目录的目录安全权限,这一步骤是必须的,否则在登录 FTP 的时候会出现错误。如下图所示,我们会看到由于权限不足导致无法读取配置文件的错误提示。而无权限读取的文件是位于 inetsrv\config 下的 redirection.config 文件。经过 gOxiA 的测试发现即使为该文件添加了相应的权限但仍提示登录失败,最终要配置 config 目录权限,赋予 Network Service(FTP7 进程的默认帐户)有读取权限后才能正常登录。
![]()
为了简单的演示目录权限的设置过程,gOxiA 参考了 IIS.net 中相关文章的命令行,其中涉及到的 cacls 可以直接运行就可以得到参数帮助。要执行的命令行如下:
配置了 config 目录权限后,请确保 “Network Service”对该目录下的 administration.config 和 redirection.config 文件有读取权限,否则请执行如下命令行:
![]()
之后创建一个 FTP 的默认目录,注意请添加“Network Service”有完全控制的权限。
下面,我们开始配置 IIS7,创建一个 FTP 站点,为其启用 IisManagerAuth,并创建一个 IIS管理凭据的帐户,使其具备 FTP 相应的访问权限。
在开始之前请确认已经安装了 IIS7 的 管理服务组件,否则请进入服务器管理,单击添加角色服务,选中 IIS7 的管理服务组件,进行安装。
![]()
![]()
默认可以使用 C:\Inetpub\Ftproot 作为 FTP 主目录,当然也可以根据自己的需要创建或选择一个目录,但是需要注意,请赋予“Network Service”有完全控制权限。
下来我们配置 IIS7 启用 IIS管理器凭据,在启用之后才能使用 IisManagerAuth。为此,打开 IIS管理器,双击“管理服务”,选中“Windows 凭据或 IIS 管理器凭据”,最后单击右边操作列表下的“应用”。
![]()
![]()
之后使用“IIS管理器用户”创建一个 IIS 所管理的用户帐号。为此,双击“IIS 管理器用户”,单击“添加用户”,在弹出的窗体中输入用户名和密码。
![]()
![]()
![]()
上述操作一旦完成,就可以开始创建一个 FTP 站点,首先选中 IIS 管理器左边的导航窗体中的“网站”,之后单击鼠标右键,左键单击“添加 FTP 站点…”。
![]()
“站点信息”中输入 FTP 站点名称,如:Default FTP Site。并选择默认的内容目录,本例中 gOxiA 使用的是 C:\inetpub\ftproot,单击“下一步”。
![]()
在“绑定和 SSL 设置”中,根据需要启用虚拟主机名,注意:FTP“虚拟主机名”可能不被一些客户端所支持。此外请将 SSL 默认的配置“需要”更改为“允许”,否则如果不配置 SSL 证书并使用 SSL FTP 登录方式将导致客户端连接失败。
![]()
在 “身份验证和授权信息”配置中,更具需要选择身份验证方式,并指定一个用户和权限。如果你只允许 IIS管理器用户能够访问该 FTP 站点,那么这一步可以不配置,直接单击“完成”。方便大家的学习,本例中允许系统用户中的 Administrator 对该 FTP 有读取和写入的权限。
![]()
现在以 Windows 身份验证方式的 FTP 站点已经创建好了,下面我们可以使用 Administrator 来登录 FTP。
![]()
经过测试,创建的 FTP 站点已经正常运行,下面我们将要为该 FTP 站点添加之前创建的 IIS管理器用户 — goxia 有相应的访问权限。
首先,选中“Default FTP Site”,在内容窗体中双击“FTP 身份验证”,进入“FTP 身份验证”设置后单击右边操作中的“自定义提供程序…”,在弹出窗体中勾选“IisManagerAuth”。
![]()
![]()
![]()
启用了 IisMangerAuth 后,打开“FTP 授权规则”,添加指定的用户 — goxia,并赋予有相应的访问权限。
![]()
![]()
![]()
最后我们来使用 goxia 这个 IIS 管理器用户登录 FTP 进行测试。
![]()
如 果首次登录失败,提示无法验证用户和密码,则需要打开该 FTP 站点的“IIS 管理器权限”设置,添加 goxia 这个帐号。之后测试登录成功后再将其帐号从中删除即可。查找 IIS.net 的相关指引文档,发现默认是要执行这步配置的,但是 gOxiA 认为这一步是配置用户是否具有该 FTP 的远程管理权限的,一旦配置并启用 IIS 的远程管理服务,那么该帐号具备的权限可能会造成安全隐患。目前 gOxiA 也未完全理解。希望有网友指点一二!
![]()
![]()
![]()
如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?的更多相关文章
- 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证
在 Windows Server 2008 R2 发布后,gOxiA 就开始着手于相关的测试和评估.IIS 是重点测试和评估之一!而今天与大家分享的是如何在 IIS7 上配置 FTP7 使用 IIS ...
- 如何在IIS7下配置ASP+ACCESS环境
如何在IIS7下配置ASP+ACCESS环境 | 浏览:901 | 更新:2013-01-16 17:46 1 2 3 4 5 6 7 分步阅读 默认装完IIS7之后,使用ASP程序会发现提示数据库连 ...
- 如何在linux 上配置NTP 时间同步?
故障现象: 有些应用场景,对时间同步的要求严格,需要用到NTP同步,如何在linux上配置NTP时间同步? 解决方案: 在linux 上配置NTP 时间同步,具休操作步骤,整理如下: 1.安装软件包( ...
- 如何在Jenkins上配置一个可以从其它Job取回Artifact的Job
今天因为工作上的需求,需要在Jenskin上配置一个job, 它应该可以从其它所选择的Job中取回Artifact. 首先,在"构建"步骤中添加 "Copy Artifa ...
- 如何在IDEA上配置Maven
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的Java开发工具之一, IDEA是JetBrains公司的产品,现在有逐步取代老牌Java ...
- MongoDb进阶实践之二 如何在Windows上配置MongoDB
一.引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...
- 如何在Ubuntu上配置scala教程
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言 .并集成面向对象和函数式变成的各种特性.这里为了学习spark特地配置了scala. 1.下载scala安装包 ...
- 如何在Windows上配置EBS R12.1.3的OAF开发环境
1.找到想要开发的EBS OAF扩展对应的PATCH,可以参照下面的Note,因为我要做的是R12.1.3的开发,所以要下载p9879989_R12_GENERIC OA Framework - Ho ...
- 图解如何在Linux上配置git自动登录验证
记录一下配置git操作远程仓库时的自动验证,效果如下图: 本文介绍的是Linux下的配置.Windows上默认已经启用凭证存储和自动验证(依靠wincred实现,以后会使用GCM-Core). 准备工 ...
随机推荐
- (zt)Lua的多任务机制——协程(coroutine)
原帖:http://blog.csdn.net/soloist/article/details/329381 并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制.大致上 ...
- C#利用Windows API 实现关机、注销、重启等操作
using System; using System.Text; using System.Diagnostics; using System.Runtime.InteropServices; nam ...
- 【性能测试】性能测试总结<一>
目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景 五.性能测试基本概念 正文: 一. 什么是软件性能 定义:软件的性能是软件的一种非功能特性,它关注的不是软 ...
- HackerRank "Lucky Numbers"
Great learning for me:https://www.hackerrank.com/rest/contests/master/challenges/lucky-numbers/hacke ...
- Windows组策略同步问题
每当,我们在域控制器上建立一个组策略的时候,我们很希望它能在线马上同步到所有的客户端上去. 当windows2008的域控上的做法:登录到每台windows客户端然后执行,gpupdate /forc ...
- VS合集/6.0/2005/2008/2010/2012/2013 绿色版精简版
VS合集/6.0/2005/2008/2010/2012/2013 绿色版精简版 找到这里的都是老司机,别的不多说了 链接: http://pan.baidu.com/s/1i5IyYZb ...
- 原生JavaScript实现的addclass,removeclass,hasclass,toggleclass,getbyclass
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- unity客户端与c++服务器之间的简单通讯_1
// 服务器 # pragma once using namespace std; # include <iostream> # include <string> # incl ...
- PLSQL_基础系列12_替换函数用法REPLACE / TRANSLATE / REGEXP_REPLACE
20150806 Created By BaoXinjian
- VMware和CentOS7安装和配置
准备工作: 下载: 1.VMware-workstation-full-10.0.0-1295980 2.CentOS-7-x86_64-DVD-1511.iso 安装: 1.VMware-works ...