А именно, как настройка разрешения на чтение / запись для этой учетной записи отличается от предоставления доступа на чтение / запись в IIS (Windows 2003, так что это должен быть IIS6, если я не ошибаюсь).
Вот проблема: похоже, что мы провели проверку безопасности, и в рамках этой учетной записи IUSR повсюду был потерян доступ для записи. Многим устаревшим ASP-сайтам это совсем не понравилось ...
Я очень поверхностно понимаю, что достаточно запретить доступ на запись в консоли IIS, чтобы защитить веб-сайт от того, что кто-то просто сбросил на него случайные файлы, а доступ IUSR влияет только на сценарии приложений, выполняемые на стороне сервера, и, таким образом, может быть безопасно предоставлен доступ на запись обратно.
редактировать:
Очевидно, что рассматриваемым приложениям требуется доступ на запись к их собственным веб-папкам, иначе это вообще не было бы проблемой. Вопрос в том, как настроить IIS / приложение, чтобы обеспечить безопасность и заставить их работать. Моим первым побуждением было сменить учетную запись, которая используется для запуска пула приложений. Однако это уже установлено в NETWORK_SERVICE, и этот парень уже имеет полный доступ к рассматриваемым папкам.
Большинству людей трудно понять разницу между анонимным пользователем IIS (IUSR _...) и учетной записью, используемой для выполнения двоичных файлов (учетная запись пула приложений).
Учетная запись IUSR используется, когда пользователь не аутентифицирован на сервере, что для «обычных» веб-сайтов является вариантом использования по умолчанию. Для сайтов интрасети вы можете отключить анонимный доступ к серверу IIS и позволить пользователям (автоматически) отправлять свои учетные данные сети / домена.
В анонимный аккаунт разрешения на файлы и папки определяют, к каким ресурсам (файлам) обычный веб-пользователь может получить доступ на этом сервере. Обычно все (статические) файлы доступны только для чтения, и вы не разрешаете выводить содержимое папки в список.
В удостоверение пула приложений (например, учетная запись сетевой службы) - это нечто иное. Это учетная запись, которая выполняет ваши скрипты или сборки, идентификатор процесса. Например, если ваше приложение хочет писать в определенную папку (например, C:\temp
) эта учетная запись должна иметь разрешение файловой системы для изменения файлов в этой папке.
Вот несколько ссылок для получения дополнительной информации:
Учетная запись IUSR - это встроенная учетная запись пользователя, которая по умолчанию используется в качестве анонимного пользователя в IIS6. По умолчанию это не очень мощная учетная запись, и обычно я советую своим пользователям по возможности не использовать ее. Основная причина этого - принцип изоляции. Вы не хотите, чтобы побочные эффекты со стороны других администраторов сделали ваше приложение неудовлетворительным.