我已经使用自签名证书在 IIS 7.5 中设置了一个带有 SSL 的 FTP 站点。我可以登录并查看我的虚拟目录,这些目录都设置为 UNC 路径。问题是我无法通过 FTP 写入任何位置。
我设置了 3 个 Active Directory 组。每个组都在文件夹级别正确设置了权限。这些权限通过“有效权限”选项卡进行验证,其中显示给定用户的权限。但是,当我以属于组 (Design) 的用户 (designer1) 的身份登录时,该组有权访问我的虚拟目录指向的文件夹,但访问被拒绝。
我尝试了几乎所有配置,但都无法正常工作。我的 FTP 站点的应用程序池是它自己的池“FTP”,没有托管代码,处于经典管道模式。应用程序池标识应该是什么?
在 FTP“站点”属性中,我将“连接为”设置为“应用程序用户(直通身份验证)”,以便文件权限将决定该用户是否有权写入。
此外,在 FTP 站点属性下,我禁用了匿名身份验证并启用了基本身份验证。我在设置 FTP 授权规则时运气不佳,因为我可以在“特定角色”和“特定用户”字段中输入任何内容,但它不会验证他们是否是真实用户或组。
是否存在一种缓存机制,通过该机制我无法更改设置然后立即测试它们?我总是重新启动 IIS 服务并重新启动站点并回收应用程序池。
答案1
好的,我已经弄清楚了自己的问题。想简要分享一下我的见解。
应用程序池:.NET = 无托管代码:管道模式 = 集成:身份 = NetworkService
这里的窍门是,新的 FTP 授权规则不验证 Active Directory(或本地)用户名或组。因此,您可以在此处输入任何内容,认为您获得了正确的组名,但您不知道,只是权限无法允许您设置的规则。
我让这个工作
- 确保每个组或用户的文件夹/文件级权限正确
- 设置 FTP 身份验证以启用基本身份验证并禁用匿名身份验证
- 将站点属性设置为“连接为...”=“应用程序用户(直通身份验证)”
- 根据需要为每个虚拟目录设置 FTP 授权规则
我希望这可以帮助别人!