
解决WindowsServer2003中IIS创建FTP帐户登录出现530Usercannotlogin.docx
11页解决 Windows Server 2003中 IIS创建 FTP帐户登录出现 530 User cannot log in, home directory inaccessible2011-12-03 8:19530 User cannot log in, home directory inaccessible 用户不能登录,主目录无法访问第一种解决方案就是不要创建隔离 FTP用户第二种才是重点:因为出现这种错误通常都是隔离用户才有的,解决方法是:打开 IIS管理器 Internet Information Services (IIS) Manager ,点击 FTP站点--- Default FTP Site (如果是中文就是默认 FTP站点),右键选择属性(Properties)--主目录,设置默认的 FTP路径,可以在 D盘下建立一个 www 的文件夹名称,当然文件夹名称随意都可以OK 之后点击确定 注意这里的 www是 FTP 的主目录,然后再在这个目录下面建立想要的 FTP帐户,比如创建目录为 lifenghui20 ,那么它的物理路径为c:\www\lifenghui20 。
下面创建的 windows 帐户要跟刚才创建的 子目录 名称完全一样上面的目录为 lifenghui20,用户名也必须是 lifenghui20打开 计算机管理,右键 计算机---- 属性 ----如图:点击本地用户和级,创建一个用户名为 lifenghui20 ,输入密码, 可设置取消掉下次用户必须更改密码 创建之后点击 关闭,如果需要继续创建用户就重复即可 点击刚才创建的用户名: lifenghui20 选择 属性(Properties:再切换到:配置文件 ---- 主文件夹---- 本地路径--- 复制上面创建的完整目录地址: c:\www\lifenghui20 点击确定这样就行了接着测试一下是否出错 点击开始菜单,运行框中输入 ftp 127.0.0.1 输入刚才创建的用户名回车之后再输入密码再回车看提示如图,提示成功登入啦 如果是远程测试的话,就是 ftp 服务器的 IP地址,比如我的远程服务器 IP地址是 8.8.8.8 那么在本地就是远行 ftp 8.8.8.8 .接着可以继续创建新的虚拟目录了,比如再创建 mm虚拟目录, 继而再创建 mm 帐户 123 虚拟目录,再创建 123 帐户,这些目录必须在默认目录下面创建,并且在创建 windows 帐户时必须在配置文件里面指定完整的目录地址,如下:c:\www\lifenghui20c:\www\mmc:\www\123这样做的好处是:多个用户使用各自的帐户访问同一个 IP地址,同一个端口的FTP服务器!默认的情况下,所创建的这些 user 组的用户是无法访问其它用户的目录的,只能看到。
怎么能看到?使用 FTP工具登录之后点击返回上一层就可以看到了,但是无法进入因为 NTFS磁盘系统的权限限制了它们的访问为什么会这样,因为当我们在创建用户时就指定了它的本地路径,如果需要更改它们的权限,比如只可以读取,不可以删除,写入等那么可以修改目录权限,如图:值得注意的是,这些虚拟目录好像只能在 Default FTP Site (默认 FTP站点)下面创建,如果禁用默认 FTP站点再新建一个 FTP站点并使用同样的方法创建虚拟目录及用户,发现还是提示:530 User cannot log in, home directory inaccessible,这确实是比较令人蛋疼的问题啊!接着就可以继续架设网站了,c:\www\lifenghui20\wwwroot c:\www\mm\wwwroot c:\www\123\wwwroot 以上方法参考:piratewhite 的, ftp 命令可以登录,但是使用浏览器或者是 FTP工具却无法登录,那是因为创建了隔离用户,删除掉重新创建成不隔离用户即可第三种解决方法:不推荐!另外还有 网友说可以 省略 NTFS 权限配置,如:slip2008 的 NTFS 权限配置,也就是用户可以浏览别的目录,似乎设置了目录权限也无用。
如有错误,欢迎指正假设 FTP主目录为 www , 那么他的意思是在这个 www目录下面创建 localuser目录,再在 localuser目录下面分配不同的 FTP帐户对应的目录: c:\www\localuser\lifenghui20c:\www\localuser\mmc:\www\localuser\123 ......等等只要创建用户就行了,无需再指定目录如图我们来测试一下:在 www下直接创建 目录,创建 帐户但不指定目录地址,测试:登录失败当把 目录拉到 localuser 下面后测试效果:成功登录了,因此建议使用 slip2008的方法建个 localuser目录再在这个目录下面分配不同的目录 public 为公用目录,注意:当创建 localuser 目录之后就不可以再同时使用上面 piratewhite 的方法以下是 slip2008的原文:2009-09-21 16:56在 Windows Server 2003 及更新的版本中,IIS 中的 FTP 可以使用用户隔离了隔离有什么好处呢?看起来更高级比如 ftp1 用户打开的时候看到的路径是 /,但内容是自己文件夹的;ftp2 用户打开的时候看到的路径也是 /,但内容也是自己文件夹的。
如果不隔离的话:ftp1 用户看到的路径是 /ftp1/;ftp2 用户看到的路径是 /ftp2/ 更安全一些ftp1 用户即使对 ftp2 文件夹有 NTFS 权限,它也不可能通过修改 ftp 路径来打开 ftp2 文件夹隔离有什么坏处呢?如果想有一个管理员,可以打开所有的 ftp 文件夹,这就麻烦了除了另建一个 FTP 站点(用不同的 IP 或端口)外,我还没发现其他方法如何隔离呢?首先,新建 FTP 站点的时候选择“隔离用户”,这一选项必须在新建的时候选择,没办法在站点的属性中修改然后,将 FTP 主目录指向 FTP 文件夹然后,FTP 文件夹中建立一个名为 localuser 文件夹,localuser 文件夹下面再以各 ftp 用户名为文件名建文件夹目录结构如下:\test(根目录)\localuser\slip(ftp用户名)\slip用户文件说明:1 上面省略了 NTFS 权限配置 2 隔离的情况下,建虚拟目录是没有意义的 3 如果是域用户,则 localuser 文件夹的名称应该为域名称 4 localuser 下也可建立一个 public 文件夹,表示公用的530 home directory inaccessibleFTP 连接时遇到这个错误,首先可以肯定用户名和密码是正确了的。
错误多半是由于没有为用户分配正确的 NTFS 权限造成的,即用户没有权限访问 FTP 的目录但还有一种令人发毛的原因,NTFS 都已经开到 everyone 了,IIS 都重启 N 次了,还是提示上述错误那么可能是这么一个原因,FTP 使用了用户隔离,却没有正确配置,。
