必须同时配置IIS FTP授权规则和NTFS权限,缺一不可;创建专用用户并加入FTPServer组,启用FTP用户隔离(用户名目录+虚拟目录),为各用户添加对应读写授权规则,再对每个用户文件夹禁用继承并设显式NTFS权限,共享区则授FTPServer组修改权。

要在Windows系统中精确控制FTP用户能看什么、能改什么、能进哪个文件夹,必须同时配置IIS FTP授权规则和NTFS文件系统权限,漏掉任一环节都会导致权限失控或完全无法登录。
创建专用FTP用户并加入安全组
右键“此电脑”→“管理”→“系统工具”→“本地用户和组”→“用户”,右键空白处→“新用户”:输入用户名(【不能用ftp、administrator等保留名】)、密码,取消勾选“用户下次登录时需更改密码”,勾选“用户不能更改密码”和“密码永不过期”。
接着在“组”中右键→“新建组”,命名为FTPServer;双击该组→“添加”→输入刚建的用户名→检查名称→确定。这一步是后续批量授权的基础,避免逐个用户重复设置。
在IIS中配置FTP用户隔离与授权规则
打开“IIS管理器”→左侧展开“网站”→右键你的FTP站点→“FTP用户隔离”→选择“用户名目录”→勾选“使用虚拟目录存储用户目录”→点击“应用”。
此时每个用户登录后将被自动限制到以自己用户名命名的子文件夹内,例如用户t1登录后只能看到并操作c:\FTPServer\t1路径下的内容,无法向上跳转或横向访问t2、t3目录。
再右键同一站点→“FTP授权规则”→“添加允许规则”→选择“指定用户”→填入t1→勾选“读取”和“写入”→确定。重复此操作为t2、t3分别添加对应规则。若需共享区,可额外添加一条“所有用户”规则,但仅指向共享文件夹路径。
手动设置NTFS文件夹权限(关键步骤)
打开资源管理器,进入FTP根目录(如c:\FTPServer),对每个用户子文件夹(如t1)右键→“属性”→“安全”→“编辑”→“添加”→输入t1→检查名称→确定。
在t1用户的权限列表中,勾选“修改”“读取和执行”“列出文件夹内容”“读取”“写入”,其他全部不勾选。特别注意:【必须取消继承权限——点击“高级”→“禁用继承”→选择“将继承的权限转换为此对象的显式权限”】,否则父文件夹的Everyone权限会覆盖掉你刚设的精细控制。
共享文件夹则不同:右键共享文件夹→“属性”→“安全”→“编辑”→“添加”→输入FTPServer组→勾选“修改”→确定。这样组内所有用户(t1/t2/t3)都能读写该共享区,但彼此的私有文件夹仍完全隔离。
验证权限是否生效
方法一:在另一台Windows电脑的文件资源管理器地址栏输入ftp://你的IP地址,用t1账号登录,确认只看到t1文件夹且无法进入上级或t2路径。
方法二:用WinSCP以SFTP模式连接同一服务器(需提前启用OpenSSH),尝试访问/c:/FTPServer/t2,应提示“拒绝访问”——这说明NTFS层权限已起效。
方法三:在本机用管理员CMD执行ftp 127.0.0.1,登录t1后执行cd ..,返回“550 The directory is not accessible.”即表示用户隔离成功。











