我正在运行基于以下 Windows Server 2019 核心映像的 Docker 容器:
mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
此容器正在运行 ASP.Net 4.8 应用程序并写入logs
文件夹。以下是完整路径:
C:\inetpub\wwwroot\logs
我的应用程序位于wwwroot
文件夹的根目录。我尝试授予Write
用户权限IIS_IUSRS
,logs
但一直出现以下错误:
使用“1”个参数调用“SetAccessRule”时发生异常:“此访问控制列表不是规范形式,因此无法修改。
这是我的 PowerShell 代码:
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("IIS_IUSRS", "Write", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl = Get-ACL "C:\inetpub\wwwroot\Logs"
$acl.AddAccessRule($accessRule)
Set-ACL -Path "C:\inetpub\wwwroot\Logs" -ACLObject $acl
错误发生在上面第 3 行调用的地方AddAccessRule
。
我该如何解决这个问题?
答案1
不需要 PowerShell。使用以下命令设置WRITE
权限IIS_IUSRS
icacls C:\inetpub\wwwroot\logs /grant IIS_IUSRS:W /t /c