在IIS上搭建多用户隔离的FTP服务

扫码关注我们,我们学的不仅是框架,更是梦想!更多技术文章查看 http://letyouknow.net/ FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为20、21),用于Internet上的双向文件传输(即文件的上传和下载)。

我们通常会在服务器上搭建FTP服务,方便上传编译后的.NET网站到IIS上,当然,以后我们会使用一些持续集成的手法来作网站的发布,使站点服务可靠、稳定、持续服务于用户,这些会在日后的文章会有专题讨论。本文基于Windows Server 2012 服务器版本,IIS 8.5 展开的。

IIS8.5上搭建FTP服务

1 FTP服务器工具的决择 ;

2 FTP服务器的安装;

3 在IIS中添加FTP站点;

4 FTP多用户隔离的设置;

5 客户端的连接测试;

1 FTP服务器工具决择

免费的FTP服务器有N种,举个栗子:Serv-U,FileZillaServer。IIS中的FTP和windows紧密结合可以使用ACL,而且免费。但是Serv-U这个东西现在出来了好多漏洞,很不安全,但是使用比较方便。

个人认为,各工具的各有优缺点,决择主要是看某个工具是否适合你的需要,在学习成本与需求目标上作为判断主要依据。既然我们主要是为了上传站点文件,那么选择WINDOWS SERVER 2012自带的IIS中内置的FTP服务器组件,岂不是简单就是美么。

或许你会担心,IIS上部署着多个网站,同时在IIS上使用FTP站点来上传文件,是否会影响其它网站的正常运作,我觉得没必要担心这类问题。FTP,HTTP都是应用层的协议,但他们都是基于TCP传输层,而且端口号也不一样,一个是21,一个是80。

2 FTP服务器的安装

我们来看看在IIS上安装FTP服务的步骤:

1、打开“控制面板”的“程序和功能”:

2、进入到“程序和功能”的界面,选择左侧的“打开或关闭Windows功能”,打开“Windows”功能对话框:

3、展开“Internet信息服务”节点,发现默认情况下“FTP服务器”子节点并没有被选中,下图显示已安装,因为之前已装好了。

4、安装完成后,你会在“服务”管理工具中看到“MIcrosoft FTP Service”服务;

3 在IIS中添加FTP站点

在“管理工具”的“Internet信息服务(IIS)管理器”中,选中服务器,点击右键菜单中的“添加FTP站点…”;填写好站点名称与物理路径;

接下来是绑定主机名还有端口号码21,这里要提及一个的是SSL设置,我个人建议最好是自己在服务器上创建SSL证书,并绑定到FTP,提高了传输的安全性。

4 FTP多用户隔离的设置

FTP服务器,可能要面对N个用户的不同连接,不同的存储,各自的仅能访问自己的目录,为了实现这目标,我们需要设置FTP按用户来隔离。往下看

1、我们必须要先建立一个目录localuser,必须的,因为它是根据用户来隔离,在它下面需要创建对应的用户文件夹。

2、我们需要建立一个用户组,暂叫FtpGroup吧,并给予最小的权限;

3、然后是建立对应的用户,并且将他们加入上面创建的FtpGroup用户组中,我们建立了一个FtpYisa, 一个FtpWilling用于下面的测试;

4、设置各用户与对应的目录的访问权限,比如,进入localuser>FtpYisa目录,我们右键此目录,设置此目录仅仅是此用户能访问即可;同时,如果想统一,可以直接以组为单位,直接给予FtpGroup用户权的权限。

5、添加FTP的授权规则,允许FtpGroup用户组读写

6、设置FTP用户隔离规则,按用户名称隔离

5 客户端的连接测试

我们在个人电脑上可以安装FileZilla客户端,打开并作如下设置

我们分别用户不同的帐号登录到FTP服务器中,均仅看到属于自己的文件

扫码关注我们,我们学的不仅是框架,更是梦想!更多技术文章查看 http://letyouknow.net/

原文发布于微信公众号 - dotNet框架学苑(LetYouKnowNet)

原文发表时间:2019-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券