MSFTP搭建中遇到的一些问题

1、如何找到安装MSFTP安装界面?

     答:MSFTP是和IIS应用程序绑定在一起的,在安装的时候可以单独选择安装MSFTP服务,也可以同时安装IIS里所有的服务,如ASP.NET等服务。

在“开始”——“运行”处输入appwiz.cpl——“添加或删除程序”选择“添加删除windows服务组件”——选择双击“应用程序服务器”——双击“Internet信息服务(IIS)”——选择“文件传输协议(FTP)服务。

2、采用“用户隔离模式”搭建的FTP用户名和密码都对了,但是登陆失败,错误信息“530 User cannot log in, home Directory Inaccessible

     答:此种情况一般是用户名和FTP服务器里的文件夹的名字没有设置成一样,造成用户主目录不可达。在不改变此种模式的情况下可采用以下2种方法解决:

方法一:将用户名和文件名改成一样;之后在“开始”——“运行”处输入lusrmgr如下图

选择一个账号,点击“属性”——“配置文件”——“本地路径”输入文件路径。

方法二:在FTP根目录下新建一个localuser的文件夹,在localuser文件下新建与用户名一样的文件名称。如下面目录结构:
         \iisftp根目录)
           \localuser
             \ftp1(ftp用户名)
               \ftp1用户文件
3、为什么启用匿名登录认证后,还是无法登录?

    答:一般是由于没有将来windows自建的Internet来宾账户赋予可以访问匿名文件的权限,例如public文件夹是匿名登录的文件夹,需在文件夹“属性”——“安全”把Internet来宾账户添加进去。

4、采用匿名方式认证的FTP服务器,为什么输入ftp://IP后直接进入匿名用户访问的文件夹,如何进入查看属于自己的文件?

    答:匿名方式的登录,系统默认进去匿名用户的文件夹,要想查看属于自己的文件,需要通过命令行登录,或者使用专门的FTP软件登录。在dos下登录方式如下:“开始”——“运行”输入cmd,如下图:

5、为什么输入正确的用户名和密码之后还是显示拒绝访问呢?

   答:这个情况很可能是服务器FTP服务器启用了防火墙或者是TCP/IP筛选,将端口屏蔽了。此种情况下的FTP服务器应该采用被动传输模式,由已经建立连接的用户向服务器发起数据传输的请求,此时服务器就在本机选择一个已被防火墙对外开放的端口作为与客户端口建立数据传输通信的端口。相关操作如下:

第一步:在dos下输入 C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "9500-9550"

第二步:在dos下输入netsh firewall add portopening tcp 21

                     netsh firewall add portopening 6000  //数据传输端口

如果登录用户多,要开放多个数据传输的端口,可以使用如下脚本批量添加,脚本名tcps.bat

 @echo off

  for /L %%i (6000,1,6200)  do  netsh firewall add portopening %%i

  net  stop sharedaccess

  net  start  sharedaccess

  exit