As a quick and dirty fix, grant the IIS_IUSRS
group Read/Execute or Modify permissions to your web folder.
To fix this properly you should grant the Application Pool Identity for your site Read/Execute or Modify permissions to your application's web folder. To do this:
- Open IIS Manager, navigate to your website or application folder where the site is deployed to.
- Open Advanced Settings (it's on the right hand Actions pane).
- Note down the Application Pool name then close this window
- Double click on the Authentication icon to open the authentication settings
- Disable Windows Authentication
- Right click on Anonymous Authentication and click
Edit
- Choose the
Application pool identity
radio button the click OK
- Select the Application Pools node from IIS manager tree on left and select the Application Pool name you noted down in step 3
- Right click and select Advanced Settings
- Expand the Process Model settings and choose
ApplicationPoolIdentity
from the "Built-in account" drop down list then click OK
.
- Click
OK
again to save and dismiss the Application Pool advanced settings page
- Open an Administrator command line (right click on the CMD icon and select "Run As Administrator". It'll be somewhere on your start menu, probably under Accessories.
- Run the following command:
icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)
For example:
icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)
If all is good icacls.exe
will report:
processed file: c:\inetpub\wwwroot\mysite
Successfully processed 1 files; Failed processing 0 files