IIS создает папки W3SVCx после первого запроса к вновь созданному сайту, он также устанавливает для него разрешения NTFS независимо от разрешений родительской папки и ее параметров наследования. Права, которые он устанавливает:
NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
Я не знаю, как сказать IIS не делать этого. Вы должны помнить, что после настройки нового сайта, нажмите его один раз, а затем установите разрешения для папки журнала.
Если вы настроили много сайтов, используйте вместо этого скрипт. Я использую PowerShell:
New-WebSite -Name "peter.superuser.com" -port 80 -id 106 -PhysicalPath "C:\inetpub\peter.superuser.com" -HostHeader peter.superuser.com
(New-Object System.Net.WebClient).DownloadString("http://peter.superuser.com")
start-sleep -seconds 1
& icacls.exe "C:\inetpub\logs\LogFiles\W3SVC106" /Q /grant "BUILTIN\Users:`(OI`)`(CI`)`(RX`)"
Сначала я создаю сайт, затем попадаю на домашнюю страницу, жду секунду, а затем устанавливаю разрешения для папки журнала.
Если вы не знаете идентификатор этого сайта, используйте
$newId = (get-childitem IIS:\Sites | where{$_.Name -eq "peter.superuser.com"}).Id
& icacls.exe "C:\inetpub\logs\LogFiles\W3SVC$newId" /Q /grant "BUILTIN\Users:`(OI`)`(CI`)`(RX`)"
чтобы получить идентификатор после того, как вы создали сайт.
Чтобы использовать это, вам нужно включить сценарии для IIS, в зависимости от вашей ОС.