When using anonymous authentication by default IIS uses a specific user named
IUSR to access files. This user is automatically a member of the Windows
Users but not a member of
If you removed permissions for
Users from your files, the default site setup wont work anymore.
I usually don't use
IUSR, to change this in the GUI, select the server or site node and open the
Authentication icon, select
Anonymous Authentication and the
Edit in the Actions pane on the right:
change from a specific user to
Application pool identity, now the file access is done via this account and it should be able to access your files.
You can do the same in PowerShell:
For the whole server:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
For a specific site:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'SiteName' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
I wrote a bit about this in a blog post