FTP作为一种简单便捷的文件共享技术,在许多企业内部得到使用。若启用FTP的验证控制,管理员更可对不同的用户设置不同的访问权限,控制用户对特定内容的访问。IIS中的FTP站点只有一种验证方式,即基本验证。因基本验证的密码采用明码传输,用户在启用这种验证方式时需注意安全性问题。本文将对采用基本验证的FTP服务器用户登录出错问题进行讨论。 

  一般FTP站点建立以后,只需做简单的配置,用户即可登录访问。但有时当管理员完成FTP服务器的配置后,用户登录该FTP站点时,却发现其用户名与密码无法登录,一般会出现下面的错误提示框。

  这种现象一般由以下五个方面的原因导致:

1. FTP 站点权限设置
2. NTFS权限设置
3. 用户权利设置
4. 输入完整的用户名
5. FTP对用户密码的限制

 

1、FTP 站点权限设置 

FTP服务器具有灵活的目录访问控制,它可限制用户对站点或目录的读、写权限,此外它还可根据客户端IP地址进行访问控制。若站点或目录没有赋予用户读的权限,或用户的IP地址被拒绝,则会出现无法登录的错误信息。 

这种情况的解决方法如下:

打开IIS管理控制台:开始->程序->管理工具->Internet服务管理器 
右键选择FTP站点或虚拟目录属性,在主目录或虚拟目录属性页中,选择读取及写入选项。 
单击目录安全性属性页,选择授权访问,并确认客户端的IP地址不在拒绝之列。

 

2、NTFS权限设置 

FTP服务器可以利用Windows操作系统中的文件或文件夹的NTFS权限属性来控制用户访问,因此一个用户若需访问某个FTP站点或目录,则其必须对该物理目录有至少读的权限。 

文件或文件夹的NTFS权限属性具体的设置方法为:

打开 Windows资源管理器 ,找到FTP站点或虚拟目录所对应的物理目录,右键点击属性,选择安全性 ,赋给该FTP用户相应的NTFS权限(读取,写入)。

 

3、用户权利设置 

因FTP采用基本验证方式,所以基本验证的用户权利要求也适用于FTP验证。基本验证方式要求访问的用户对目标主机具有从网络访问此计算机和在本地登录两种权限。这两种权限需要在安全策略中设置。在Windows2000中,存在三种安全策略:域安全策略,本地安全策略,域控制器安全策略,它们的优先级为:域控制器安全策略、域安全策略、本地安全策略。在设置安全策略时需注意有效的策略中允许用户从网络访问此计算机和在本地登录两种权限。 

配置方法为:

如果FTP服务器安装在域控制器上,则由于域控制器安全策略的策略设置优先级最高,因此我们在域控制器安全策略中进行策略更改(为减少安全隐患,强烈建议用户不要在域控制器上建立FTP站点):

开始->程序->管理工具->域控制器安全策略

如果FTP服务器不是域控制器(DC),则由于一般域安全策略中不会对用户权限进行设置,因此本地安全策略中的设置也可生效:

开始->程序->管理工具->本地安全策略

双击展开本地策略,双击展开用户权利指派,在从网络访问此计算机和在本地登录中检查该FTP用户是否已具有该权限,否则,添加该FTP用户。

如果安全策略配置有改动,可用以下命令手动刷新策略配置,使其立即失效:

secedit /refreshpolicy machine_policy /enforce。

 

4、用户名的输入方法 

基本验证要求用户输入完整的用户名。如果登录的用户是域用户,需在验证窗口中,输入domain_name\user_name,password。,即用户名中需要包括域名;如果登录的用户是本地SAM用户,则输入user_name,password即可。

 

5、FTP对用户名密码的限制 

FTP对用户名密码有一定的限制,若密码以空格符开头或包含特殊字符的,如@ # $ %等,则该用户无法登录FTP站点。此时可以首先修改密码,再做测试。

FTP用户无法登陆排错详解的更多相关文章

  1. linux 添加ftp用户与登录配置详解

    不同类Unix有一定区别 版本不同也有些区别 在linux主机上如何添加ftp用户 (一)修改配置文件 vi /etc/vsftpd/vsftpd.conf 在96行,97,98行 96 chroot ...

  2. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  3. 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程

    产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...

  4. linux之用户和用户组管理详解

    #############用户和用户组管理###################linux只认识UID和GID #可在/etc/passwd 和/etc/group中找到 ##/etc/passwd ...

  5. FTP协议及工作原理详解

    1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...

  6. FTP的主动和被动模式详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp25 主动模式FTP与被动模式FTP该如何选择 一.主动模式的实现与特点. ...

  7. Linux用户身份(命令详解与补正)

    基于Red Hat Enterprise Linux 7.5 Linux中的root就是存在于所有类UNIX系统中的超级用户,持有最高管理权限,能添加/删除用户.开关机.关闭或开启硬件或者系统服务等, ...

  8. Linux用户与用户组的详解

    1,用户和用户组文件   在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的.   在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/ ...

  9. SSH免密远程登陆及详解

    SSH(安全外壳协议):为建立在应用层和传输层基础上的安全协议,ssh是目前较为可靠,专门为远程登陆,会话和其他网络服务提供安全 协议.利用ssh协议可以有效的防止远程管理过程中的信息泄露问题,传统的 ...

随机推荐

  1. rails无法使用页面缓存的解决办法

    书上云在config/envirionments/development.rb中开启了缓存机制后,我们即可以使用缓存鸟:   config.action_controller.perform_cach ...

  2. Struts2 中的数据传输的几种方式

    1.     如何将参数从界面传递到Action? 你可以把Struts2中的Action看做是Struts1的Action+ActionForm,即只需在Action中定义相关的属性(要有gette ...

  3. Oracle——多表查询

    本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一 ...

  4. LINQ、Lambda与委托

    首先定义个Person类: public class Person { public string Name{get;set;} //姓名 public int Age{get;set;} //年龄 ...

  5. 推荐个Mac OSX下的Code Editor:Atom

    首先只是当Editor用,不是整成IDE级. 先说几个大家耳熟能详的: 1.Sublime,Sublime在Mac下的安装并不完全,CLI启动需要自己ln个链接.还有一些其他原因,比如Packages ...

  6. 利用Python进行数据分析

    最近在阅读<利用Python进行数据分析>,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得. 准备工作 python环境配置好了,可以参见我之前的博文<基于Python的数据分析 ...

  7. kaggle入门项目:Titanic存亡预测 (一)比赛简介

    自从入了数据挖掘的坑,就在不停的看视频刷书,但是总觉得实在太过抽象,在结束了coursera上Andrew Ng 教授的机器学习课程还有刷完一整本集体智慧编程后更加迷茫了,所以需要一个实践项目来扎实之 ...

  8. 使用TortoiseGit操作分支的创建与合并

    第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...

  9. Tomcat配置多实例:centos和winserver环境

    CentOS:配置多Tomcat:     1.下载:# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-6/v6.0.44/bin/apache- ...

  10. 关于引用(python中的伪指针)的理解

    # 总结:个人理解,引用不可变的的变量时,随着改变会指向新的地址 # 引用可变的变量时,位置不会随着变量改变而改变 a = 1 b = a print(b) a = 2 # 指向了新的内存地址 pri ...