创建独立的FTP站点,启用FTP用户隔离实现不同用户访问不同目录(推荐)
用户/用户组:

FTP_Users
User1
User2

目录

C:\Ftproot\LocalUser\User1
C:\Ftproot\LocalUser\User2

添加FTP站点,先在C盘根目录创建Ftproot目录作为FTP站点根目录

当前方案不需要启虚拟主机,所有FTP用户直接通过IP访问,当然设定一个固定虚拟主机名方便记忆也可以。

身份验证同样选“基本”,授权访问直接选“指定角色或用户组”,然后填上我们创建的FTP_Users用户组

对FTP站点根目录(C:Ftproot)设定权限,没有修改写入权限FTP用户将不能上传删除文件。

Ftproot目录下创建LocalUser子目录,注意文件夹名必须是这个,不能自定义

并在LocalUser目录下创建与FTP用户名相应的子目录作为用户根目录,注意文件夹名和用户名要严格一致
文件夹下还可以各创建一个txt文件,命名为“这是User1用户目录”,方便后面的测试。

设置FTP用户隔离为隔离用户下的“用户名目录(禁用全局虚拟目录)”,这样设定是FTP用户只能在与自己同名的文件夹中有访问和修改权限。

完成后通过一般的FTP客户端或是CMD命令进行测试,当前方案登录时用户名直接输入即可,不需要像方案1那样前面要有虚拟主机名标识。经测试能成功登录并显示出对应目录下的文件。

使用单一FTP站点对应系统用户实现FTP多用户的方案,服务器端设置和客户端使用均相对方便,建议采用此方案。如果WEB站点目录按FTP目录结构一致,也可以两个目录合一,可以视个人喜好灵活设定。

补充:

Microsfot IIS FTP 用户权限的实时性较差,有时会出现新设定的FTP用户不能登录的情况。一般重启FTPSVR服务即可解决,实在不行就试试重启计算机吧。网上相关说明如下:
FTP服务权限规则的实时性级别:
1、FTP站点授权规则(属于FTP服务进程级),规则存在时即可访问(规则建立后不需要重启IIS和FTPSVR服务)
2、IIS管理器权限(站点对应的文件目录权限(隐性的),用户允许与拒绝都必须重启FTPSVR服务,估计是文件系统权限方面的问题)
3、IIS管理器用户(IIS用户池管理),禁用、启用或删除原有用户,都必须重启FTPSVR服务,整体新规则才会起变化。
所以按照此级别排序,开启用户访问FTP时,按3-2-1顺序依次开启进行,拒绝或删除用户则必须从1-2-3顺序进行配置,才能有效保证FTP服务整体规则的安全性,希望以后IIS开发团队能对这方面进行加强。
IIS管理用户密码变更后,如果不想重启FTPSVR服务,必须在用户使用新密码登录后旧密码才无效,比较疑惑IIS用户授权的处理机制。

添加虚拟目录功能创建FTP子目录或公用目录

如果WEB目录和FTP目录不是同一目录,创建的FTP用户目录内想要显示相应用户的WEB站点,可以能过通过添加虚拟目录的形式,把WEB目录映射到FTP目录下。

分别在FTP用户目录User1、User2下创建虚拟目录,别名均为wwwroot,指向Web站点目录对应的站点目录。

FTP站点用户目录下对应建立与别名相同的空文件夹wwwroot。
注意,别名文件夹可以不建立,如果不建立相应别名的文件夹,则是隐藏虚拟目录,FTP客户端登录后没显示此虚拟目录(IIS控台可以看到),但可以通过直接输入路径来访问。如果希望客户端看得到这个虚拟目录,则需建立。

测试结果,以User1用户登录后为例,FTP用户目录下的Txt文件和wwwroot空目录显示出来,进入wwwroot目录显示的是Web站点目录中的内容

灵活应用创建虚拟目录结合权限设置,还可以为所有FTP用户创建只读的公用目录,例如所有人都可以访问tools目录,只能下载不能上传,方便站长提供公用资源给用户。
添加的虚拟目录,只允许用户User1只读


默认有读写权限的时候正常(读写权限),设置完后仅只读权限了,无法下载和删除。

删除虚拟目录,删除目录
虚拟目录需要在IIS上删除、实际目录需要去根目录删除。虚拟目录和实际目录图标显示略有差异,如下图前面两个目录为虚拟目录,第三个目录为实际目录。

取消FTP默认消息,设置个性消息,提高FTP站点安全性和个性化
点击FTP站点,进入FTP消息选项

消息设置界面
勾选“取消显示默认横幅”,隐藏FTP软件信息,避免被针对性攻击破解。
设置个性横幅,可以伪装成其他类型的FTP软件,混淆攻击者的判断。
设置个性欢迎信息,提高站点个性化,可以利用此处显示一些公告信息给用户端。

通过磁盘配额限制FTP用户目录大小
前提条件:分区必须是NTFS格式

1、启动配额管理;
2、可拒绝超空间的用户上传;
3、新用户可不设置限制,这个看需求;
3、超过限制做记录事件;
4、配合项可以看各个用户的账号,如是否超过了限制等;

如果用户上传的空间超过限制,且做了拒绝超限制的用户上传会出现如下报错

总结:
1.不考虑用户隔离时,必须在 ftp 站点根目录下建立用户名目录,否则无法登录!
2.启用用户隔离后,必须在 ftp 站点根目录下建立 LocalUser 目录,再在其下建立用户名目录,否则无法登录!
3.启用主机名绑定后,登录该 ftp 站点时,用户名前必须加上 主机名|,形成“主机名(域名)|用户名”这样的用户名才能登录!
4.为实际上传文件的物理目录安全权限添加 ftp 用户组名,并设置“修改、读取、写入、列出文件夹内容”等权限,才能正确的读写和上传覆盖文件。
此记!