再进行Windows 2008 FTP服务的架构的时候,我们发现,不同的FTP服务版本,在配置方面,稍有改动。那么今天我们介绍的则是FTP7.5服务配置。FTP7.5服务器配置及配合IIS管理用户授权和中文规则支持的几个要点,关于FTP7.5的安装及配置的文章比较多,但是都不大解释其中的几个重要环节,以下是我的几点配置心得(经实验已经配置成功):
一、安装FTP服务时注意必须安装IIS管理服务和FTP扩展,否则配合IIS管理用户的授权会有问题。
二、很重要的一环,启用FTP服务对中文目录及文件名命名规则的上传支持(而下载默认是支持的):
须要在FTP站点属性的高级设置里,将允许UTF8项由默认的TRUE改为FALSE,注明的说法为是否允许UTF8活动和UTF8文件名规则,我的理解是客户端下载时由客户端程序对下载的文件名进行编码解析,所以不会出现下载文件名的乱码,而上传时则交由服务器端文件编码处理模块进行解析,设成FALSE的意思有点含糊,但是效果和SERV-U服务器里配置时的OPTS UTF8命令是一样的。
三、Windows 2008 FTP服务权限规则的实时性级别:
1、FTP站点授权规则(属于FTP服务进程级),规则存在时即可访问(规则建立后不需要重启IIS和FTPSVR服务)
2、IIS管理器权限(站点对应的文件目录权限(隐性的),用户允许与拒绝都必须重启FTPSVR服务,估计是文件系统权限方面的问题)
3、IIS管理器用户(IIS用户池管理),禁用、启用或删除原有用户,都必须重启FTPSVR服务,整体新规则才会起变化。
所以按照此级别排序,开启用户访问FTP时,按3-2-1顺序依次开启进行,拒绝或删除用户则必须从1-2-3顺序进行配置,才能有效保证FTP服务整体规则的安全性,希望以后IIS开发团队能对这方面进行加强。
四、IIS管理用户密码变更后,如果不想重启FTPSVR服务,必须在用户使用新密码登录后旧密码才无效,比较疑惑IIS用户授权的处理机制。
附:INETSVR目录下CONFIG目录及文件权限说明
Windows 2008 FTP服务由于FTPSVR所用的IISmanagerauth用户验证模块属于COM组件运行,其句柄进程为NETWORK SERVICE,必须对上述目录及其下的两个配置文件有读取权限,配置好FTPSVR服务后,须执行以下语句:
- CACLS "%SystemDrive%\Windows\System32\inetsrv\config" /G "Network Service":R /E
- CACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /G "Network Service":R /E
- CACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /G "Network Service":R /E
网上说的FTP文件目录须要NETWORK SERVICE全权,经实验并不须要添加权限,可能是IIS管理器权限里已经把隐性访问权限给了IIS管理用户,有点像应用程序池用户权限的效果,还有就是建立FTP用户帐户后,删除IIS管理用户池里的用户仍然可以登录Windows 2008 FTP服务器的说法,那是因为没有重启服务,和我上面说的规则实时性有关吧,所以最好还是保留用户。