Назад | Перейти на главную страницу

IIS_IUSRS может получить доступ к файлу, но пользователь идентификации пула приложений не может

Я пытаюсь понять права доступа к файлам IIS. У данного файла есть разрешения «полный доступ» для IIS_IUSRS. Но похоже, что все пользователи Application Pool Identity не могут получить доступ к файлу. (Я заметил, что некоторые из моих пользователей Application Pool Identity по какой-то причине не входили в IIS_IUSRS, поэтому я просто добавил их вручную.)

Когда данное удостоверение пула приложений является членом IIS_IUSRS, как может случиться так, что пользователь удостоверения пула приложений не может получить доступ к файлу, если 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 ""

Я немного писал об этом в Сообщение блога