(IIS/Win2000Pro) Предоставление прав на чтение реестра пользователю IIS?
-
09-06-2019 - |
Вопрос
Хорошо, я запускаю небольшой тестовый веб-сервер в своей частной сети.У меня есть машина под управлением 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.Перейдите к нужному ключу или папке, затем откройте меню безопасности и нажмите «Разрешения».