在 Windows Server 2008 R2 发布后,本人 就开始着手于相关的测试和评估。IIS 是重点测试和评估之一!而今天与大家分享的是如何在 IIS7 上配置 FTP7 使用 IIS管理凭据 方式进行身份验证。提到 MSFTP 服务,恐怕知道的人多,但是真正使用的人少!特别是 IDC 环境下多数会选择 Serv-U FTP Server,本人 从 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 文件。经过 本人 的测试发现即使为该文件添加了相应的权限但仍提示登录失败,最终要配置 config 目录权限,赋予 Network Service(FTP7 进程的默认帐户)有读取权限后才能正常登录。
为了简单的演示目录权限的设置过程,benren 参考了 IIS.net 中相关文章的命令行,其中涉及到的 cacls 可以直接运行就可以得到参数帮助。要执行的命令行如下:
配置了 config 目录权限后,请确保 “Network Service”对该目录下的 administration.config 和 redirection.config 文件有读取权限,否则请执行如下命令行: