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

Удаление файлов с помощью .NET, перенесенных с win2k3

Недавно мы перенесли веб-сайт 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 определяют разрешения для новых файлов.