在Window server 2019搭建FTP服务,实现客户端能通过匿名或者用户账号访问服务器上的文件,并实现下载和上传。
FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件。
为服务器配静态IP
打开【服务器管理器】,点击【添加角色和功能】。
进入【服务器角色】界面,Windows Server的FTP功能是IIS角色的一部分,所以勾选【Web服务器(IIS)】。【FTP服务器】跟【管理工具】全部勾选
进入【功能】界面,默认选择,点击【下一步】。
进入【确认】界面,确认无误后,点击【安装】。
打开【服务器管理器】,点击右上角的【工具】栏,找到【Internet Information S ervices(IIS)管理器】点击。
展开左侧菜单,对【网站】点击鼠标右键,选择【添加FTP站点】。
进入【添加FTP站点】界面,输入FTP站点名称和其目录的物理路径。物理路径是需要共享的目录的位置。点击【下一步】。
进入【绑定和SSL设置】界面,IP地址默认为全部未分配,即可以使用服务器上任意一个没有分配给其他FTP站点的IP来访问。如果选择了IP地址,则只能通过选择的IP地址对FTP服务器进行访问。
端口选择默认21号端口。在这里选择【无SSL】。
进入【身份验证和授权信息界面】,在身份验证中,勾选匿名;允许访问的用户选择所有用户;权限勾选读取。最后点击【完成】。
返回【网站】界面,在列表中新的FTP站点“不隔离用户”已经创建完成,并成功启动。
测试FTP站点
测试之前,随意创建或复制几个文件和文件夹到FTP的根目录中。
打开另外一条计算机作为客户机
使用资源管理器测试
在和FTP服务器在同一局域网内的电脑上,使用资源管理器连接FTP。输入:ftp://192.168.23.137,即可连接。
可以看到客户端成功访问服务器上的共享文件
通过命令行窗口也是可以访问的,输入的用户名anonymous即是使用匿名用户访问。
展开左侧菜单,对【网站】点击鼠标右键,选择【添加FTP站点】。
进入【添加FTP站点】界面,输入FTP站点名称和其目录的物理路径。物理路径是需要共享的目录的位置。点击【下一步】。
进入【绑定和SSL设置】界面,IP地址默认为全部未分配,即可以使用服务器上任意一个没有分配给其他FTP站点的IP来访问。如果选择了IP地址,则只能通过选择的IP地址对FTP服务器进行访问。
默认端口21已经被占用了,这里改成9000。在这里选择【无SSL】。
身份验证选择基本,即访问服务器需要账号密码,授权选择所有用户
返回【网站】界面,在列表中新的FTP站点“隔离用户”已经创建完成,并成功启动。
设置3个用户zhangsan、lisi、wangwu,要求zhagnsan和lisi用户只能访问自己的目录,且通过虚拟目录映射访问公司的公共文件software;wangwu可以同时访问lisi"和zhangsan用户目录,但是对于lisi的目录只能下载不能上传,对于zhangsan的目录可以上传但是不能下载。
FTP服务器有个特征,就是如果想让客户端使用账号密码访问共享文件时,必须在共享文件夹根目录下新建一个名为localuser的文件夹,而且还需再在localuser文件夹下新建跟用户名名字一样的文件夹
创建用户
首先在用户和组那里创建3个用户
zhangsan、lisi、wangwu
接着在根目录ftp文件夹下新建localuser文件夹,再在localuser文件夹下新建3个与用户名同名的文件夹
回到服务器,可以看到“隔离用户”目录下多了一个localuser
localuser目录下有三个用户
配置虚拟目录公共文件software
因为此时我们是处于用户隔离的禁用全局虚拟目录状态下的
所以要想每个用户都能访问一个共享文件,需要在每个用户目录下配置虚拟目录
右击用户lisi文件夹—添加虚拟目录
输入别名,选择文件夹路径
完成时候可以看到lisi文件夹下多了一个虚拟目录software
其他用户的添加也是如此
配置zhagnsan和lisi用户只能访问自己的目录,wangwu可以同时访问lisi"和zhangsan用户目录
此时配置的是每个用户都只能访问自己的目录,要想实现其中一个用户访问另外两个用户的目录,需要为localuser配置虚拟目录
右击localuser—添加虚拟目录
输入用户名,路径指向localuser
完成之后可以看到wangwu目录下包含了其他用户的目录
验证测试
首先点击站点,选择右侧的FTP目录浏览
按以下配置
在客户机资源管理器中输入ftp://192.168.23.137:9000
使用lisi账号登录
可以看到只能访问公共文件夹和自己的目录
用zhangsan账号登录也是一样
但是用wangwu账号登录的话是可以访问另外两个用户的文件夹的
配置wangwu访问lisi的目录只能下载不能上传,对于zhangsan的目录可以上传但是不能下载。
回到服务器的localuser目录的wangwu目录下
点击wangwu目录下的lisi目录,在右侧选择FTP授权规则
配置为读取,即wangwu用户访问lisi目录下的文件时只能下载不能上传
配置wangwu目录下zhangsan目录的规则为写入,即wangwu用户访问张三目录下的文件时只能上传不能下载
验证测试
在客户端用命令行窗口访问FTP服务器
可以看到有4个文件夹
测试lisi文件夹可否上传或下载
进入lisi文件夹,可以看到有一个lis.txt文件
下载到本地
成功,本地C:\\Users\Administrator目录下多了一个lis.txt文件
尝试将aaa.txt上传到lisi文件夹
发现无法上传,尝试新建文件夹也不行
测试zhagnsan文件夹可否上传或下载
发现可以切换到zhagnsan目录,但是无法列出内容,即无法读取
尝试将aaa.txt上传到zhangsan文件夹
发现成功,但是依旧无法读取
回到服务器查看是否上传成功
可以看到服务器上的zhangsan文件夹上多了一个aaa.txt文件
(2)、用户名物理目录(启用全局虚拟目录)
同样三个用户zhangsan、lisi、wangwu,每个用户只能访问自己的目录,且每个用户中存在一个虚拟目录software。
跟上一步步骤差不多,不过将localuser目录下的虚拟目录wangwu删掉
这样就可以实现每个用户访问各自的目录了
不过要想访问公共文件夹就比较简单
右击站点—添加虚拟目录
完成之后可以看到站点下多了一个software目录,然后将之前为每个用户单独配置的虚拟目录删掉
启用全局目录
验证测试
可以看到每个用户都只能访问自己的目录和公共文件夹
至此实验结束,实验结果达到预期效果