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

Какие должны быть разрешения на веб-сайте в IIS7?

Хорошо, позвольте мне сказать, что я плохо понимаю, что я здесь делаю. Извините, если я делаю это сложнее, чем должно быть,

У меня есть веб-сайт, который я уже некоторое время настраиваю на IIS6, он работал нормально. Я взял тот же сайт и попытался настроить его на 32-разрядную версию Windows Server 2008 Enterprise.

Вот шаги, которые я выполнил:

  1. Возьмите с сервера zip-файл, содержащий сайт.
  2. Разархивируйте его в inetpub / website / version.
  3. Это дает ошибку, что файл конфигурации необходимо перенести, поэтому я предоставляю IIS_IUSRS разрешение на чтение в основной папке и запускаю команду migrate.

Теперь сайт загружается, но у меня две проблемы:

  1. Я не могу редактировать файлы в папке сайта. Я открываю его, редактирую, и когда я пытаюсь сохранить, он говорит: «Доступ запрещен». Тем не менее, если я перенесу файл из папки на рабочий стол, я могу отредактировать его там и переместить обратно без проблем. Я вошел в систему как администратор, и группа администраторов имеет полные разрешения на каждый файл на веб-сайте.
  2. Когда я пытаюсь использовать веб-сайт, появляются страницы настройки, на которых редактируются некоторые файлы конфигурации. Я всегда получаю ошибку с правами доступа, пытаясь использовать эти страницы (остальные функции сайта работают нормально):

    Произошла ошибка при загрузке файла конфигурации: доступ к пути 'C: \ inetpub \ website \ version \ XXXXX.tmp' запрещен. (C: \ inetpub \ сайт \ версия \ web.config)

  3. Я проверяю разрешения и вижу, что папка / config предназначена только для чтения, поэтому я снимаю этот флажок. Казалось, это ничего не меняет.

Я читал на форумах IIS, что эти проблемы с разрешениями возникают из-за того, что я разархивировал его непосредственно в папку inetpub, и поэтому он не унаследовал надлежащие разрешения. Поэтому я попытался разархивировать его в «Мои документы», а затем переместить в inetpub, как было предложено, но, похоже, это ничего не дало.

В настоящее время разрешения настроены следующим образом:

Итак, кто-нибудь знает, что еще мне нужно сделать, чтобы избавиться от этой ошибки?

Вы получите сообщение «Доступ запрещен» при внесении изменений в системные папки из-за UAC. В Windows Server 2008, даже если вы являетесь членом группы администраторов на машине, когда вы пытаетесь внести какие-либо изменения в папку, например inetpub или system32, срабатывает UAC и проверяет, что вы подтверждаете изменение.

Настоятельно рекомендуется не вносить изменения в UAC, но вы можете проверить настройки в Панели управления -> Учетные записи пользователей -> Учетные записи пользователей. Выберите учетную запись и нажмите «Изменить настройки управления учетными записями пользователей».

HTH

Это похоже на проблему контроля доступа пользователей.

Если UAC включен, вы не являетесь членом группы администраторов, даже если вы входите в систему как локальный администратор. Вы «принадлежите» к этой группе только тогда, когда «работаете от имени администратора». Таким образом, если вы запустите блокнот «от имени администратора», вы сможете без проблем редактировать файлы. Таким образом, ответ - либо отключить UAC, либо предоставить вашей учетной записи явные права на изменение файла. Да, это действительно раздражает.

Это решает проблему редактирования файлов конфигурации, но похоже, что вы хотите, чтобы приложение также редактировало файлы. Это звучит немного опасно, но, вероятно, приемлемо, если вы контролируете, кто имеет доступ к приложению.

Лучший подход - поместить веб-приложение в собственный пул приложений, а не в пул приложений по умолчанию. Затем установите удостоверение в пуле приложений на конкретную учетную запись пользователя, а не на учетную запись сетевой службы по умолчанию. Затем предоставьте этой учетной записи необходимые разрешения для определенных файлов и / или папок.