Я пытаюсь понять права доступа к файлам IIS. У данного файла есть разрешения «полный доступ» для IIS_IUSRS. Но похоже, что все пользователи Application Pool Identity не могут получить доступ к файлу. (Я заметил, что некоторые из моих пользователей Application Pool Identity по какой-то причине не входили в IIS_IUSRS, поэтому я просто добавил их вручную.)
Когда данное удостоверение пула приложений является членом IIS_IUSRS, как может случиться так, что пользователь удостоверения пула приложений не может получить доступ к файлу, если IIS_IUSRS может получить к нему доступ? Пожалуйста, смотрите мои скриншоты ниже. Спасибо.
При использовании анонимной аутентификации по умолчанию IIS использует конкретного пользователя с именем IUSR
для доступа к файлам. Этот пользователь автоматически становится членом Windows Users
но не член IIS_IUSRS
Если вы удалили разрешения для Users
из ваших файлов, настройка сайта по умолчанию больше не будет работать.
Я обычно не использую IUSR
, чтобы изменить это в графическом интерфейсе, выберите сервер или узел сайта и откройте Authentication
значок, выберите Anonymous Authentication
и Edit
на панели Действия справа:
изменить с конкретного пользователя на Application pool identity
, теперь доступ к файлам осуществляется через эту учетную запись, и он должен иметь доступ к вашим файлам.
Вы можете сделать то же самое в PowerShell:
Для всего сервера:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
Для конкретного сайта:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'SiteName' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
Я немного писал об этом в Сообщение блога