You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows环境下服务账户访问远程网络共享提示权限被拒问题排查求助

Windows环境下服务账户访问远程网络共享提示权限被拒问题排查求助

各位大佬好,我现在遇到一个Windows环境下的权限问题卡壳了,想请大家帮忙分析下:

环境与基础配置

  • 整个环境都是Windows体系,部署在srv01上的应用需要往远程网络共享目录写入数据
  • 应用对应的服务配置了AD域服务账户service-worker作为登录账户,已经给这个账户配置了以下权限:
    • 操作系统层面的「作为服务登录」「作为批处理作业登录」权限
    • 应用自身运行所需的文件权限
  • 服务能正常启动,也可以正常写入srv01本地的UNC共享目录

问题现象

应用尝试写入\\srv02\dir时,始终提示**"access denied(权限被拒)"**。我已经给service-worker配置了对应权限:

  • 共享权限:给service-worker分配了完全控制权限
  • NTFS权限:给\\srv02\dir\subdir分配了修改和读取权限

调试步骤与结果

我用PowerShell尝试复现问题,脚本如下:

$username = 'service-worker'
$password = 'somePassword'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)

Invoke-Command -ComputerName srv01 -Credential $credential -ScriptBlock {
"Hello World" | Out-File -FilePath "\\srv02\dir\subdir\test1.txt"
}

执行后得到错误输出:

PS H:> C:\Users\myUser\Scripts\CreateUNCFileAsUser.ps1
Access to the path '\srv02\dir\subdir\test1.txt' is denied.

  • CategoryInfo : OpenError: (:) [Out-File], UnauthorizedAccessException
  • FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand
  • PSComputerName : srv02

后续还做了这些尝试:

  • srv02上通过高级安全的「有效权限」功能查看service-worker的权限,显示是正常的
  • service-worker加到和我个人账号相同的NTFS权限组(该组对整个服务器有完全控制权限),依然报错
  • 尝试写入共享根目录\\srv02\dir\test1.txt,还是提示权限被拒
  • 直接在srv02上用这个账户执行命令,提示无法登录,这个是符合预期的
  • 考虑到Invoke-Command可能存在双跳权限问题,直接在srv01上用PowerShell以该账户执行写入操作,还是报同样的权限被拒错误,仅PSComputerName变成了srv01

我到底漏了什么配置吗?这个账户连读取srv02的共享目录都做不到,实在搞不懂了,求各位指点!

备注:内容来源于stack exchange,提问作者Severin Brunner

火山引擎 最新活动