Недавно мы перенесли веб-сайт ASP.NET с Windows 2003 на Windows 2008 R2, заархивировав все файлы и распаковав их на новый сайт.
Поскольку при переносе веб-приложения по-прежнему можно загружать и удалять файлы (которые являются новыми), однако оно не может удалять файлы, скопированные из исходного приложения Win 2k3.
Мы предполагаем, что это проблема с разрешениями, потому что ошибка:
Доступ к пути 'E: ....... PATH .....' запрещен.
Мы пытаемся сопоставить разрешения для недавно загруженного файла с разрешениями для перенесенных файлов. Недавно загруженные файлы, похоже, получают пользователя APP POOL в качестве разрешения и ВЛАДЕЛЬЦА. Однако в исходных файлах этого не было.
Любая помощь, которой может быть любой, была бы фантастической.
Спасибо,
Что ж, ни в одном из упомянутых вами продуктов нет ничего, что могло бы делать это напрямую.
Как вы перенесли приложение?
Если разрешения файловой системы изменились (вероятно), исправили ли вы разрешения для файлов и (что важно) папок, чтобы они в целом были совместимы с намерениями предыдущего приложения?
И если он был скопирован через какую-то систему архивирования - вы проверили атрибут «Только чтение» (не разрешение, атрибут) для всех файлов, не установлен?
ATTRIB /S
выгружает все атрибуты файлов во всех подпапках - ищите любые R в проблемных файлах.
Наконец, вы можете обнаружить, что пользователь, выполняющий загрузку / удаление, не тот, что был раньше. Используйте Process Monitor от Sysinternals (http://live.sysinternals.com/procmon.exe), чтобы наблюдать, как пользователь выполняет интересующее вас действие, и проверять, соответствует ли его личность ожидаемому и есть соответствующие разрешения. Новый пул приложений и удостоверения пользователей (и типы удостоверений) представлены в IIS 7.
Я подозреваю, что файлы, которые вы пытаетесь удалить, также создаются приложением asp.net.
В этом случае разрешения участника CREATOR OWNER определяют разрешения для новых файлов.