Не удается открыть журнал для источника {0} на Windows 2003 Server - PullRequest
0 голосов
/ 19 марта 2010

У меня огромная проблема с журналом событий на моем сервере. Позвольте мне прежде всего объяснить настройку.

  • У меня есть настройка домена с 2 компьютерами
  • Один компьютер работает под управлением IIS, другой - рабочая станция. IIS работает под управлением Win2k3 на рабочей станции Win XP.
  • На компьютере IIS размещается веб-сайт, который использует Windows Impersonation и пытается записать запись в журнал событий для пользовательского файла журнала с именем MyApp и пользовательского источника событий MySource
  • У меня есть пользователь домена MyUser, который является членом сообщества пользователей домена.
  • Единый вход работает на 100%, потому что я могу выписать зарегистрированного пользователя на страницу в порядке.

Когда я захожу на страницу IIS с рабочей станции, я получаю одно из следующих сообщений (иногда я получаю первое, иногда второе)

1) The handle is invalid
2) Cannot open log for source 'MySource'. You may not have write access.

Итак, чтобы попытаться это исправить, я попробовал все следующее:

Предоставил пользователю «Полный контроль пользователя» файл C: \ windows \ system32 \ config \ MyApp.evt

Предоставил каждому пользователю FullControl HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog

В ключе HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog \ MyApp \ CustomSD я добавил следующую строку (A ;; 0x0002 ;;; AU), (причину этого можно прочитать здесь http://fgheysels.blogspot.com/2008/01/cannot-open-log-for-source-0-on-windows.html)

Теперь у меня совершенно нет идей, как это исправить. Кто-нибудь еще сталкивался с этим, и вы пробовали что-нибудь еще.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2010

Ну, после многих часов попыток решить эту проблему у меня появляется решение, которое работает.

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

  1. Выполнить regedit
  2. Перейдите к HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog
  3. Откройте подраздел, который соответствует EventLog, в который вы пишете (поэтому я выберу Приложение )
  4. Справа вы увидите строки реестра, найдите одну с именем CustomSD
  5. Щелкните правой кнопкой мыши и измените его.
  6. Добавить в конец (A ;; 0x2 ;;; AU) (я объясню это позже)
  7. Сохраните изменения (я не знаю, нужно ли вам перезагрузиться или нет)

Это означает, что прошедшие проверку пользователи могут писать в журнал событий приложений. Мне нужно было применить еще одно изменение.

  1. Открыть GPO домена или локальный компьютер GPO
  2. Перейдите в Конфигурация компьютера> Параметры Windows> Параметры безопасности> Локальные политики> Права пользователя> Назначения> Управление журналом аудита и безопасности
  3. Перейти в окно свойств
  4. Выберите Определить эти параметры политики
  5. Добавить группу администраторов
  6. Добавить группу аутентифицированных пользователей
  7. Сохраните и выполните gpupdate / force для зараженного компьютера.

Это единственный способ, с помощью которого пользователи моего веб-сайта могут писать в журнал событий.

Я упоминал в части 1, шаг 6, я бы объяснил строку, которую мы добавили. Пожалуйста, смотрите эту страницу для более подробной информации http://support.microsoft.com/kb/323076

0 голосов
/ 27 мая 2010

Ошибка, как вы, похоже, уже обнаружили, связана с записью в источники событий или их созданием. Я бы посоветовал вам попробовать следующее.

Вы не указали, существует ли источник событий в реестре, или не переносили ли файлы файлов .evt, созданные системой, или помещали их на компьютер, поэтому трудно определить, в какой точке вы застряли.

Вы также не упомянули, работает ли это на компьютере какого-то разработчика, и в этом случае вы можете сравнить реестры и даже создать ключи вручную, если это необходимо.

  1. Просмотрите раздел ... \ Eventlog, если был создан ключ для вашего журнала (MyApp?).
  2. Посмотрите в HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog \ MyApp. Должен быть ключ под названием Sources. Ваш источник появляется здесь?

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

В сообщении об ошибке он должен указывать параметр ThreadIdentity, который должен указывать, какую учетную запись пользователя он пытается использовать для этого. Вы также можете открыть разрешения для HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog и запросить «Действующие разрешения» для этого конкретного пользователя, чтобы убедиться, что он действительно действительно имеет полный контроль.

Попробуйте предоставить полный доступ ко всему каталогу C: \ windows \ system32 \ config \, а не только к файлу .evt, поскольку системе также необходимо создать здесь несколько дополнительных файлов.

Наконец, вы можете попытаться включить анонимный доступ к веб-сайту и запустить его от имени пользователя компьютера / администратора домена, чтобы все ключи были созданы до того, как вы вернете его так, как вам нравится. Вы также можете попробовать включить олицетворение в файле web.config, чтобы убедиться, что он не работает без идентификатора Windows. Это те, которые вы все сможете отменить после создания правильных ключей и файлов.

Дайте нам знать, что вы найдете после этого, и мы сможем продолжить.

...