Inland kitchen
Sep. 18th, 2009 11:38 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В общем, вдруг кому пригодится. Мой скромный отчет о проблеме и ее решении.
Всем привет.
Недавно «выстрелила» проблема – при попытке зайти на любой 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.
Собственно и все.
---
С уважением,
Ильин Игорь Андреевич
ЗАО «Крафтвэй Корпорэйшн ПЛС»
Отдел разработки системного программного обеспечения
Ведущий программист