windows server2019搭建用户隔离的FTP服务
环境介绍
操作系统:windows server 2019
ftp服务:windows自带的IIS服务
安装FTP服务
在服务器管理其中添加角色和功能
打开服务器管理器,然后选择添加角色和功能,选择添加Web服务(IIS)
勾选FTP服务器
在添加的Web服务器角色服务中勾选FTP服务
等待安装结束
除了以上两个选项需要勾选以外,其他选择默认选项,直到安装完成。
创建FTP用户和FTP用户组
创建FTP用户
在操作系统的计算机管理中找到本地用户和组,然后在用户中创建用户,建议使用全英文用户名。
其中用户的密码要符合window的密码策略,建议勾选用户不能更改密码和密码永不过期的选项。
创建FTP用户组
在操作系统的计算机管理中找到本地用户和组,选择组中创建组,组名建议直接使用ftp。
使用添加按钮将ftp用户添加到该组。
后续操作
如果后续有其他的成员需要添加,则直接添加新用户并添加到ftp所在组即可。
创建FTP目录
为了搭建FTP服务,需要为FTP站点创建基本的文件目录,其中目录结构如下所示:
ftproot
|--localuser
| |-- public
| |-- user1
| |-- user2
| |-- user3
其中ftproot为ftp站点的根目录,localuser为固定要求(我也不找到为什么),public为匿名用户的默认文件夹,user1、user2、user3为添加的ftp的用户名。
注意:FTP目录中的文件夹名字需要和用户名相同。后续添加ftp用户的同时也要为其增加对应的文件夹。
添加FTP站点
添加站点
使用IIS服务添加FTP站点。
设置站点名称,可以自己命名,建议使用全英文。 然后,设置ftp的物理路径,也就是我们之前创建的fptroot文件夹。
绑定IP和SSL设置,IP默认即可,SSL根据实际情况选择,如果没有则选择无SSL。
勾选默认的身份验证和授权信息,这里暂时勾选所有的选项,然后搭建好之后再进行设置。
配置身份验证
点击左侧创建的FTP站点,然后单击右侧的身份验证进行设置。保证基本身份验证和匿名身份验证都启用。
配置授权规则
点击右侧的FTP授权规则,对授权进行设置:
将ftp组的用户权限指定为读取和写入:
将匿名用户权限指定为读取,不勾选写入:
最后的规则如下所示:
配置用户隔离
点击右侧的FTP用户隔离,设置用户隔离:
选择用户名目录选项即可:
点击右侧的应用,应用设置。
其他设置
开放端口
如果使用的是阿里云或者腾讯云的云主机,需要在主机的控制台开放ftp服务的端口。
FTP防火墙支持
由于云主机的防火墙有运营商负责控制,所以需要为FTP服务的防火墙配置为外部地址,否则无法使用公网进行访问。
在FTP防火墙支持选项中填写主机的公网IP:
访问测试
本机测试
在本机的资源管理器中输入ftp://127.0.0.1
进行访问,可以看到默认为匿名登录,显示为public中内容,且只能下载,无法上传:
点击鼠标右键,选择登录按钮可以由用户名进行登录,登陆后显示对应用户文件夹的内容,且同时具有上传和下载的权限:
它机测试
在其他机器上使用资源管理器访问ftp://ip地址
效果和本机测试相同,默认为匿名登录。同样也可使使用账号进行登录。
如果无法登录请检查是否开发端口以及是否配置了FTP的防火墙支持。
资源管理器添加网络位置
可以在资源管理器中使用右键添加一个网络位置,配置ftp的访问链接和身份验证信息,可以避免每次都要登录的麻烦。
其他问题
win11用户新版的右键菜单使用ftp登录会直接卡死,请更换为旧版的菜单,在cmd窗口中执行以下命令,然后重启电脑即可:
# 切换为旧版的右键菜单
reg.exe add “HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32” /f
# 切换为新版的右键菜单
reg.exe delete “HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}” /f
windows server中不显示我的电脑图标解决方法,使用运行执行以下命令,可以唤出设置界面,勾选需要显示的图标即可:
rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
Comments | NOTHING