(IIS/Win2000Pro) Предоставление прав на чтение реестра пользователю IIS?

StackOverflow https://stackoverflow.com/questions/29175

Вопрос

Хорошо, я запускаю небольшой тестовый веб-сервер в своей частной сети.У меня есть машина под управлением Windows 2000 Pro, и я пытаюсь запустить приложение ASP.NET через IIS.

Я написал это так, чтобы веб-страница использовала реестр для хранения определенных настроек (строки подключения, потенциально нестабильные местоположения других веб-сервисов, пути в локальной файловой системе, где хранится определенная информация и т. д.). Конечно, при тестировании все работало нормально. с VStudio.NET 2005, поскольку пользователь, запускающий приложение, имеет повышенные привилегии.Однако, запустив его в IIS, я получаю сообщение «Доступ к разделу реестра «HKEY_LOCAL_MACHINE\Software» запрещен», что означает, что пользователь IIS не имеет доступа для чтения к этой части реестра (я читаю только через веб-сайт). сам никогда не пишет).

Я сказал: «Хорошо, достаточно просто, я просто пойду дам эту пользовательскую права на эту часть реестра через Regedit». Проблема в том, что я не вижу опции нигде в Regedit, чтобы изменить настройки безопасности ...совсем.Что заставило меня задуматься...Я не думаю, что мне когда-либо раньше приходилось менять настройки безопасности для кустов/ключей реестра, и я не думаю, что знаю, как это сделать.

Спустя полчаса поиска в сети я не нашел никакой полезной информации по этому вопросу.Что мне интересно, так это...как изменить права безопасности на части реестра?Я в тупике, и, похоже, моя способность найти ответ в Google совершенно меня подвела...и поскольку я только что зарегистрировался здесь, я решил посмотреть, знает ли кто-нибудь здесь."="

Это было полезно?

Решение

Если у вас возникли проблемы с RegEdit в Windows 2000, вы можете попробовать следующее:

  • Скопируйте файл RegEdt32.exe для Windows XP на компьютер с Windows 2000.
  • Используя компьютер с Windows XP, удаленно подключитесь к реестру Windows 2000:Файл > Подключить сетевой реестр

Другие советы

Вы можете установить разрешения на уровне папки, для которой вы хотите предоставить пользователям права доступа на чтение/запись.

В вашем случае щелкните правой кнопкой мыши папку «Программное обеспечение» и выберите «Разрешения».

Остальное вы, вероятно, узнаете оттуда.

РЕДАКТИРОВАТЬ:Если проблемы по-прежнему возникают, вы можете изменить файл web.config и использовать олицетворение, чтобы ваше веб-приложение запускалось от имени определенной учетной записи пользователя.Тогда вы сможете ужесточить контроль над ситуацией.

RegEdt32.exe позволит вам установить разрешения для разделов реестра.

Просто щелкните правой кнопкой мыши ключ (папку) и выберите «Разрешения», после чего вы сможете редактировать разрешения так же, как и для папки файловой системы.

Я сделал это, предполагая, что настройка безопасности будет доступна.Я не увидел опции «Безопасность», когда щелкнул правой кнопкой мыши по ключу.=( Я проверил трижды, чтобы убедиться...и я только что попробовал это на своем компьютере с XP, и там действительно есть раздел «Разрешения»…но машина с Windows 2000 этого не делает.(как это странно?)

В своих поисках я нашел:

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_21563044.html

В котором отмечается, что RegEdit для Windows 2000 не имеет настроек безопасности/разрешений...но он не предлагает никакого решения проблемы.(Тот, кто задавал вопрос, использовал Windows XP, так что с ним все было в порядке...но в моем случае это 2000 год)

Есть ли способ сделать это конкретно в 2000 году?

РЕДАКТИРОВАТЬ:Аааа...если станет хуже, я полагаю, я смогу выдать себя за другое лицо, как указано ниже...хотя, если я не смогу установить параметры безопасности для реестра в 2000 году, мне останется предоставить этому пользователю административный доступ (я полагаю?), чтобы фактически получить эти права, что, к сожалению, противоречит цели."="

О, позвольте мне попробовать это!Я не знал, что можно удаленно подключиться к другому реестру.

(РЕДАКТИРОВАТЬ:Я ошибся, это сработало...просто потребовалось несколько минут, чтобы ответить на мой запрос об удаленном изменении разрешений)

Идея удаленного подключения сработала!Ты в порядке!Большое спасибо за Вашу помощь!Я никогда не предполагал, что с помощью RegEdit можно удаленно подключиться...Говорят, каждый день узнаешь что-то новое!=) Еще раз спасибо за вашу помощь!"="

С другой стороны, о копировании версии RegEdit для XP в Windows 2000...это безопасно?Я полагал, что они будут закодированы таким образом, что будут несовместимы...но я мог бы предположить слишком много."="

Просто используйте RegEdt32.exe вместо Regedit.exe.Перейдите к нужному ключу или папке, затем откройте меню безопасности и нажмите «Разрешения».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top