访问被拒绝 - CIFS 的约束委派失败
在访问使用中间层服务器上的网络共享的服务时,系统会提示用户输入凭据,最终会遇到拒绝访问错误。在今天的博文中,我们将介绍几个案例场景,找出原因,然后针对CIFS的约束委派在 Windows 10 中失败并出现ACCESS_DENIED错误的问题提供可能的解决方法。(ACCESS_DENIED)
通用 Internet 文件系统 (CIFS)是一种文件共享协议,它为请求(Common Internet File System (CIFS))网络服务器(network server)文件和服务 提供了一种开放的跨平台机制。CIFS 基于 Microsoft 的服务器消息块(Server Message Block)( SMB ) 协议的增强版本,用于Internet 和 Intranet 文件共享(Internet and intranet file sharing)。
CIFS的约束委派在Windows中失败
如果提示用户输入凭据,您可能会遇到此问题,并且基于以下三种情况,访问最终会失败并出现拒绝访问错误。
方案 1(Scenario 1)
- 使用为CIFS配置的直通身份验证和约束委派设置IIS 网站的(IIS website)主目录(home directory)指向远程共享。
- 访问该共享的IIS 应用程序池以(IIS application)服务帐户(service account)的身份运行。
- 域帐户(domain account)受信任,可用于文件服务器(file server)上的CIFS 服务(CIFS service)的委派。
方案 2(Scenario 2)
- Web 应用程序(web app)正在尝试以用户身份访问文件服务器(file server)。
- 访问该共享的 IIS 应用程序池以服务帐户(IIS application)的(service account)身份运行。域帐户(domain account)受信任,可用于文件服务器(file server)上的CIFS 服务(CIFS service)的委派。
- 为CIFS(CIFS)配置的约束委派是在文件服务器的(file server)服务帐户(service account)上配置的。
方案 3(Scenario 3)
- 从客户端访问的任何服务器端应用程序都以用户身份访问远程共享。
- 服务器端应用程序在服务帐户(service account)的上下文中运行。
- 服务帐户(Service account)受信任以进行委派,并为文件服务器的(file server)CIFS 委派(CIFS delegation)配置。
当涉及约束委派时,这已被确定为MrxSmb 2.0和Kerberos之间的问题。(Kerberos)
为了解决此问题,Microsoft提供了两种解决方法。
解决方法 1
使用机器帐户(machine account)而不是服务帐户(service account)作为将为CIFS执行约束委派的应用程序的身份。当域功能级别为Windows Server 2003(Windows Server 2003)、 Windows Server 2008或 Windows Server 2008 R2时,配置约束委派。
要在您的 Web 服务器域的域控制器(domain controller)上执行此操作,请执行以下操作:
- 单击Start > Administrative Tools > Active Directory 用户和计算机(Active Directory Users and Computers)。
- 展开 domain(Expand domain),然后展开Computers文件夹。
- 在右窗格中,右键单击 Web 服务器的计算机名称(computer name),选择“属性(Properties)”,然后单击“ 委派(Delegation)” 选项卡。
- 选中 信任此计算机以仅委派给指定的服务(Trust this computer for delegation to specified services only)复选框。
- 确保 选中仅使用 Kerberos(Use Kerberos only) ,然后单击 确定(OK)。
- 单击 添加按钮(Add button)。
- 在“ 添加(Add) 服务(Services) ”对话框中(dialog box),单击 “用户”或“计算机(Users or Computers)”,然后浏览或输入 将从IIS接收用户凭据的(IIS)文件服务器(file server)的名称。
- 单击 确定(OK)。
- 在 可用(Available) 服务(Services) 列表中,选择 CIFS 服务(CIFS service)。
- 单击 确定(OK)。
解决方法 2
不建议(not recommended)使用此解决方法,因为它需要 在计算机帐户上(computer account)使用(Use)任何身份验证协议委派。如果选择了 使用任何身份验证协议(Use any authentication protocol) 选项,则帐户正在使用带有协议转换的约束委派。
如果您必须将应用程序的身份用作服务帐户(service account)和/或域帐户(domain account),请执行以下操作:
第1步(Step 1)
- 单击开始(Start )> Administrative Tools > Active Directory 用户和计算机(Active Directory Users and Computers)。
- 展开 domain(Expand domain),然后展开Computers文件夹。
- 在右窗格中,右键单击 Web 服务器的计算机名称(computer name),选择“属性(Properties)”,然后单击“ 委派(Delegation)” 选项卡。
- 选中 信任此计算机以仅委派给指定的服务(Trust this computer for delegation to specified services)复选框。
- 确保 选中使用任何身份验证协议(Use any authentication protocol)。
- 单击确定(OK)。
- 单击 添加按钮(Add button)。
- 在“ 添加(Add) 服务(Services) ”对话框中(dialog box),单击 “用户”或“计算机(Users or Computers)”,然后浏览或输入将从IIS接收用户凭据的(IIS)文件服务器(file server)的名称。
- 单击 确定(OK)。
- 在 可用(Available) 服务(Services) 列表中,选择CIFS 服务(CIFS service)。
- 单击 确定(OK)。
第2步(Step 2)
- 在左窗格(left pane)中,展开用户文件夹。
- 在右窗格中,右键单击作为应用程序池(application pool)标识的服务帐户(service account),选择 属性(Properties),然后单击 委派(Delegation) 选项卡。
- 选中 信任此计算机以仅委派给指定的服务(Trust this computer for delegation to specified services only)复选框。
- 确保 选中仅使用 Kerberos(Use Kerberos only)。
- 单击确定(OK)。
- 单击 添加按钮(Add button)。
- 在“添加(Add) 服务(Services) ”对话框中(dialog box),单击 “用户”或“计算机(Users or Computers)”,然后浏览或输入将从IIS接收用户凭据的(IIS)文件服务器(file server)的名称。
- 单击 确定(OK)。
- 在 可用(Available) 服务(Services) 列表中,选择CIFS 服务(CIFS service)。
- 单击 确定(OK)。
希望这篇文章有所帮助。(Hope this post helps.)
Related posts
Fix Error 1005 Access Denied message访问网站时
DHCP Client Service在Windows 11/10提供Access Denied error
如何在Windows 10上自定义Access Denied error消息
Access Denied,您无权访问此服务器
Fix Access Control Entry在Windows 10中腐败错误
驱动程序在\ device \ vboxnetlwf上检测到内部driver error
System error 6118,此工作组的服务器列表不可用
如何打开Encrypted File如果Access Is Denied在Windows 10
Fix ShellExecuteEx失败;代码error 8235在Windows10
Fix Application Error 0xc0150004在Windows 11/10上
Windows无法验证数字签名(Code 52)
Fix Microsoft Store在Windows 11/10上登录error 0x801901f4
Setup无法在Windows 10上创建新的system partition error
如何修复 Windows 中的访问被拒绝、文件可能正在使用或共享冲突错误
Install Realtek HD Audio Driver Failure,Error OxC0000374上Windows 10
Fix无法在Windows 10上加载SteamUI.dll错误
Remove Access Denied error访问Windows中的文件或文件夹时
如何Fix uTorrent Access为Denied(磁盘Write)
如何在Windows 10中Access Denied Restricted Folder
Windows 10中的Fix ShellExecuteEx错误错误