【FTP】IIS搭建FTP服务器及基本权限设置 | 您所在的位置:网站首页 › 如何创建ftp服务器站点 › 【FTP】IIS搭建FTP服务器及基本权限设置 |
设备:阿里云云服务器 ECS 操作系统: Windows Server 2012 R2 数据中心版 64位中文版 IIS版本:IIS8
1.启动“服务器管理器”; 2.点击“添加角色和功能”; 3.按照以下图示进行安装; 4.打开“IIS管理器”(工具->IIS管理器); 5.创建ssl自签名证书,起一个好记的名字; 6.“网站”上右击,点击“添加FTP站点”;
7.按照以下图示逐步设置; 物理路径即FTP在服务器上的实际路径,设置该路径后,上传到FTP的文件会存在该文件夹中,访问FTP时显示该文件夹内容; ip地址选择全部未分配,端口号为默认的21; 身份验证,如果禁止不登录就使用FTP的行为,就不勾选匿名;以后想开启\关闭的话,在“FTP身份验证”中可重新设置; 8.添加安全组规则; 此时,FTP的基本配置已经完成,但FTP还是无法访问;这是因为云服务器ECS实例安全组没有允许外网访问以上所需的端口,对照下图添加安全组规则就可以了; 添加规则后的出方向: 添加规则后的入方向: 9.连接ftp; 找一台有网络的电脑(外网),打开cmd连接尝试FTP,发现可以连接成功; 依次输入的命令是: ftp open [你服务器的公网ip] [你服务器的管理员账号用户名] [你服务器的管理员账号密码](密码不会回显) dir
10.但是此时用资源管理器打开ftp时,发现在报错; 这是由于ftp有主动模式和被动模式; (1) PORT(主动模式) FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据;(2) PASV(被动模式) FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输; 可以发现,PASV(被动模式)随机开放的数据端口(1024以上)在我们的安全组规则中是没有添加的,但是一次性添加默认的1025-65535端口是非常不安全的行为;所以我们要设置ftp的数据端口范围; 11.设置FTP数据端口范围; 有人表示数据端口号的设置框是灰色的,无法设置,那是因为FTP站点目录下的FTP防火墙支持无法设置数据端口范围,而如下图所示目录下的FTP防火墙支持则可以设置; 这里的数据端口范围需要在1025-65535,一般选择5到10个就可以了;这里我们设置端口范围为1025-1030; 然后在安全组规则中添加规则,出、入方向都要添加;
12.开启防火墙,并在防火墙的高级设置中新建入站规则; 启用允许出、入站规则中的所有FTP相关;
13.重启服务器; 重启服务器(必须)使防火墙设置生效,此时再用资源管理器打开FTP,发现已经没有问题了;
14.添加匿名访问用户; 我们之前设置了允许“匿名身份验证”,但每次连接服务器还是要求我们以管理员身份登录,这是为什么呢? 点击编辑“匿名身份验证”,可以发现匿名用户其实也有用户名IUSR,因此我们要将该匿名访问用户添加进来,并开启IUSR用户的写入权限; 在下方列表中找到IUSR并选择,选择后确定就可实现匿名访问; 此后FTP不会默认显示登录框,如想登录,在FTP单击右键,然后在出现的菜单中选择登录;
15.用户隔离,实现每个用户只能访问自己的文件夹; 在FTP中新建localuser(名字不能错)文件夹; 文件夹中创建对应用户名 16.开启FTP用户隔离; 此后匿名用户只能看到public文件夹中内容,登录用户只能看到对应用户名文件夹中的内容; 17.添加普通用户; 在“控制面板”中添加系统用户账户,并按以上添加匿名访问用户的方法添加到FTP中;如果开启了用户隔离,记得在localuser文件夹下创建对应用户名的文件夹; 18.设置某些文件夹某些用户只可下载,无法写入; 在对应文件夹目录下的“FTP授权规则”中添加拒绝对应用户写入实现。 值得一提的是,IIS目前无法实现文件夹只可上传,不可下载、修改、删除的功能。 |
CopyRight 2018-2019 实验室设备网 版权所有 |