У меня есть свежая установка Windows 2008 Standard в учетной записи выделенного хостинга Godaddy. Я обновил установку до SP2.
Несколько приложений работают в IIS в пулах приложений, использующих NetworkService в качестве идентификатора пула. Я получаю доступ к приложениям анонимно через Интернет.
В отличие от Windows 2003, это учетная запись с высокими привилегиями. Я обнаружил, что мои приложения имеют доступ для чтения ко всем каталогам на диске. Я проверил это, создав в IIS простое приложение, которое считывает содержимое произвольного каталога и распечатывает содержимое первого обнаруженного текстового файла. Это работало для каждой папки, которую я пробовал, включая C: \ Windows \ System32. Однако попытки записи не увенчались успехом.
Мое чутье подсказывает мне, что это не может быть правильным поведением, но мой Win2k8-fu не силен.
То, что я вижу, нормально? Должен ли я запускать пулы приложений с другим идентификатором?
Что ты видишь является нормальный. Учетная запись «Network Service» эквивалентна локальной учетной записи SYSTEM, которая является очень привилегированной учетной записью. IIRC, сетевая служба отличается от локальной службы или системы тем, что в контексте домена она может получать доступ к ресурсам на удаленных компьютерах; права, назначенные учетной записи компьютера, ограничивают то, что она может видеть в Домене.
Учетная запись, используемая приложением IIS7, определяется учетной записью, используемой поддерживающим пулом приложений.
ApplicationPoolIdentity - это новая функция IIS7. Для получения подробной информации о настройке прав для этого есть вопрос о сбое сервера, который охватывает это (ссылка на сайт). Самый безопасный метод - создать в этом поле специального пользователя только для пула приложений и назначить ему права.
Чтобы перейти к раскрывающемуся экрану выше: