Windows下搭建FTP服务器的一些总结

2022-09-13 21:47:48 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Windows下搭建FTP服务器

前言:如果你的电脑上的 控制面板–程序–打开或关闭windows功能–windows功能里面没有互联网信息服务(IIS),那就别在网上浪费时间了,我找着了一天的资料打了各种补丁没成功,没有相关的IIS或者连c:windowssystem32inetsrv这个路径都没有,原因是因为你的电脑系统可能是家庭版win7,或者是ghost安装系统的时候精简版的win7系统,那我建议你换一台电脑,重装完整版旗舰win7企业系统或者升级系统(建议前后顺序代表优先级)。

1.为Windows开启FTP功能:控制面板->程序->启用或关闭Windows功能,将下图所示的复选框选中

2.添加FTP站点:右键计算机->管理->服务和应用程序,选择Internet 信息服务 IIS 管理,如下图所示添加FTP站点

3.设置站点名称和你想要公开的路径

4.绑定地址和ssl设置:

ip地址填上本机地址,端口默认21,需要ssl,证书选择IIS Express Development Certificate

5.设置权限

6.设置FTP账号及权限(这一步骤还是挺重要的)

如果不设立新的账户进行操作,那么默认登录FTP服务器的账号和密码就是本机的administrator的账户以及密码

所以我们选择添加一个用户,这样方便管理。在这里添加一个admin账户,用来完全控制FTP。(下图中以view为例,我懒得改图,盗用别人的图)

点击:控制面板—》管理工具—》计算机管理。在计算机管理的界面的左侧,点击:系统工具—》本地用户和组—》用户,右侧显示所有用户。如下图所示: 

在“用户”上右击,出现“新用户”,如下所示:

在用户名中输入View,设置好密码,去掉勾选“用户下次登陆时须更改密码”,勾选“用户不能更改密码”和“密码永不过期”(我在创建时没有选用户不能更改密码)。点击“创建”,完成用户View的创建。同样的步骤,创建Admin用户。由于Windows默认将用户添加到Users组,你可以将刚才的两个用户从Users组中删除。方法是在“计算机管理”中点击“组”,在右侧的列表中找到Users,双击之,出现如下界面,点中用户View,点“删除”,点中用户Admin,点“删除”。将两个用户从Users组中删除。

接下来,在FTP站点中,给View和Admin添加权限。

点击:控制面板—》管理工具—》Internet信息服务(IIS)管理器。点中刚才新建的FTP站点。点中“FTP授权规则”。如下图所示:

点击右侧的“编辑权限”,对FTP站点文件夹添加用户权限。在弹出的窗口中,点击“安全”标签。,如下图所示:

点“编辑”,出现权限的窗口,如下:

点“添加”,在“输入对象名称来选择”中输入View,点“确定”,添加View用户。如下所示:

添加的View用户,默认是只有读取、列出的权限。在依法添加Admin用户,给Admin用户添加完全控制的权限。如下所示:

再回到“Internet信息服务(IIS)管理器”窗口,双击刚才选中的“FTP授权规则”,在FTP站点中对View和Admin授权。如下所示:

点击右侧的“添加允许规则”,在弹出的窗口中,勾选“指定的用户”,输入View,在下方的“权限”中,勾选“读取”。如下所示:

点“确定”,给FTP站点添加View用户,相应的权限是读取。再给FTP站点添加Admin用户,相应的权限是读取和写入。

至此,FTP的站点设置就完成了。站点文件夹是c:ftp,View用户有读取(浏览和下载)的权限,Admin用户有读取和写入(上传和删除)的权限。当然,还可以根据实际的情况添加用户及相应的权限,也可以将用户添加进组,再给组设置权限。还可以添加匿名用户等等,不一而足了。

7.有关防火墙的设置问题

经过以上的步骤就已经搭建好FTP服务器了,在本机的访问应该是没有问题的,但是如果在别的机器上访问FTP服务器,可能会因为防火墙的原因不能够进行操作,本人在配置FTP服务器的时候是选择直接关闭防火墙设置的,(因为本人的操作习惯在使用电脑时都会关闭防火墙),这种方式简单粗暴并且对给我带来了很大的愉悦感。但是由于在以后的配置中可能会出现不能直接关闭防火墙的情况,所以在此做一些记录以备日后查看。(我也不知道以下的方式对不对)

点击:控制面板—》Windows防火墙。点击左侧的“允许程序或功能通过Windows防火墙”,选中“FTP服务器”,将后面的两个框都勾选,如下所示:

这是网上绝大多数介绍的防火墙设置。然而还不够,你做测试的话会发现,还是连接不上。还必须在防火墙中进一步做设置。

点击下方的“允许运行另一程序”,在弹出窗口里,点“浏览”,找到C:WindowsSystem32inetsrvinetinfo.exe,点添加,也就是上图中的InternetInfomationServices。将后面的两个框也都选中。因为在Win7下,FTP是IIS的一个组件,因此也必须在防火墙中将IIS设置为允许。而IIS又不在默认的列表中,因此得手动添加。

遗憾的是,这样设置,FTP还是不能正常使用。由于FTP用的是21端口,因此在防火墙中还得添加出站和入站的端口规则。

在Windows防火墙窗口里,点击左侧的“高级设置”,弹出高级安全防火墙窗口,点击左侧的“入站规则”,如下图所示:

点击右侧的“新建规则”,出现向导界面,勾选“端口”,如图:

点击“下一步”,勾选TCP(FTP用的是TCP协议),再勾选特定本地端口,输入21(FTP用的是21端口)如图所示:

点击“下一步”,勾选“允许连接”,如图:

点击“下一步”,默认的都选上,如图:

点击“下一步”,在名称里输入名字,本例中是21,如图

点击“完成”,完成入站规则的设置,在用同样的方法,完成出站规则的设置,同样是21端口。

至此,在Win7的防火墙就已经设置好了。现在测试基本上就正常了。

不过,还有个小问题:

在用IE浏览FTP的时候,虽然可以登录,但是没法显示FTP内容。这个是IE的设置问题。在Internet选项中,将“使用被动FTP(用于防火墙和DSL调制解调器的兼容性)”勾掉就解决了不能浏览的问题。如下图所示:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162609.html原文链接:https://javaforall.cn

0 人点赞