nomshar: (Default)
nomshar ([personal profile] nomshar) wrote2009-09-18 11:38 pm
Entry tags:

Inland kitchen

Сегодня весь день занимался проблемой, возникшей на одном из корпоративных web-серверов. Ошибка оказалась несложная, но вот ее поиск занял весь день (сначала направо пошел, вернулся, пошел налево...).
В общем, вдруг кому пригодится. Мой скромный отчет о проблеме и ее решении.


Всем привет.
Недавно «выстрелила» проблема – при попытке зайти на любой web-ресурс сервера NP1 браузер выдавал окно с запросом имени пользователя и пароля. При вводе любых учетных данных, запрос повторялся. Нажатие на кнопку «Отменить» приводило к странице с ошибкой 401.3.
Однако пользователи, обладающие правом локального администратора на сервере NP1 спокойно получали доступ к ресурсу.

Суть проблемы.
Пользователь, под которым, производилась авторизация на web-сервере не имел прав доступа к необходимым каталогам и файлам.

Путь достижения и решение проблемы.

1. Пользователь получает страницу с ошибкой 401. Это явно свидетельствует об ошибке авторизации.

2. Обращаемся к логам IIS-а (C:\Windows\system32\LogFiles\W3SVC1); файл текущей даты (по умолчанию в IIS-е новый лог-файл создается каждый день).

3. Видим строку – 2009-09-18 14:52:06 W3SVC1 10.0.152.88 GET / - 80 - 10.0.144.22 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 401 3 5.

4. Основная информация в конце 401 3 5. Это как раз и указывает на статус и дополнительный статус ошибки (http://blogs.msdn.com/david.wang/archive/2005/07/14/HOWTO_Diagnose_IIS_401_Access_Denied.aspx).

5. Теперь задача определить, для какого ресурса и какому пользователю не хватает прав.

6. Ставим Filemonitor (http://technet.microsoft.com/en-gb/sysinternals/bb896642.aspx).

7. Включаем фильтр по процессу w3wp.exe.

8. С другой машины под доменным пользователем (не локальным администратором NP1) вызваем http://np1

9. В результате получена строка – 18:56:12 w3wp.exe:5272 OPEN C:\inetpub\wwwroot\iisstart.htm ACCESS DENIED np1\IUSR_KRAFTWAY-JDLXAB

10. Эта строка «рассказывает», что у пользователя np1\IUSR_KRAFTWAY-JDLXAB отсутствуют права на ресурс C:\inetpub\wwwroot\iisstart.htm.

11. Из под пользователя np1\IUSR_KRAFTWAY-JDLXAB запускается IIS. Соответственно мы узнали какая учетная запись сбоит.

12. Далее обращаемся по этой ссылке – http://support.microsoft.com/kb/812614/, где получаем исчерпывающую информацию о необходимых правах и учетных записях для правильной работы системы авторизации web-сервера.

13. Устанавливаем права. При этом для каталога inetpub\wwwroot декларируем замену всех прав дочерних файлов и каталогов.

14. Отправляем повторный запрос с тестовой машины.

15. Получаем страницу по умолчанию и долгожданную строку в File Monitor – 19:01:44 w3wp.exe:5272 OPEN C:\inetpub\wwwroot\iisstart.htm SUCCESS Options: Open Access: Read.


Собственно и все.


---
С уважением,
Ильин Игорь Андреевич

ЗАО «Крафтвэй Корпорэйшн ПЛС»
Отдел разработки системного программного обеспечения
Ведущий программист

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting