ПРИСЫЛАЙТЕ СВОИ ВОПРОСЫ И РЕШЕНИЯ. Вы также можете посетить рубрику нашего журнала по адресу: http://www.win2000mag.ru.

В.: В сети нашей организации используется антивирусный пакет Inoculate IT 4.53 компании Computer Associates. При этом выход в Internet осуществляется через Microsoft Proxy Server 2.0. Некоторые задачи на компьютерах Windows NT не могут нормально инициализироваться при загрузке системы, поэтому нам приходится запускать их вручную. Причем это касается не только Inoculate IT - даже планировщик задач Task Scheduler (mstask.exe) не запускается как следует. При этом в журнале приложения NT Event Viewer отображается порожденное процессом Winsock Proxy Client событие Event ID 3 с сообщением:

Application was started while the service manager was locked and the NtLmSsp wasn?t running. If the application will try to remote via WinSock Proxy it can cause a deadlock with the service manager. For this reason the remoting is disabled. If the application is a service and you want to be able to remote, make it dependent on NtLmSsp. («Приложение <имя процесса> запущено в то время, когда диспетчер служб заблокирован, и NtLmSsp не выполняется. Если приложение будет использовать Winsock Proxy для обращения к удаленным системам, диспетчер служб может «зависнуть». В связи с этим удаленный доступ запрещен. Если приложение является службой и вам необходимо обращаться к удаленным компьютерам, задайте зависимость процесса от NtLmSsp».)

О: Эта проблема довольно часто возникает при установке клиента Winsock Proxy для работы через Proxy Server, хотя надо сказать, что подобное случается и с другими службами. Такое сообщение об ошибке указывает на неправильный порядок загрузки, т. е. служба В зависит от службы А, а система пытается запустить В раньше, чем А. Так получается, когда при установке новой службы В программа инсталляции не формирует корректный список зависимостей от других служб (А, А1, А2...). В данном случае проблема возникает из-за того, что служба NtLmSsp еще не запущена к моменту запуска зависящих от нее служб. Одна из этих служб пытается инициализироваться и работать через службу удаленного доступа Proxy-сервера Winsock в то время, когда база данных служб заблокирована.

В данном случае следует вручную исправить в реестре Windows запись, соответствующую службе, вызывающей ошибку. Необходимо указать, что служба может запускаться только после успешной инициализации NtLmSsp. Лучше использовать regedt32, поскольку regedit.exe некорректно обрабатывает записи реестра типа REG_MULTI_SZ.

Во-первых, надо найти раздел реестра для службы, вызывающей ошибку. Эти разделы перечислены в алфавитном порядке в разделе HKEY_ LOCAL_MACHINESYSTEM CurrentControlSetServices.

В некоторых случаях название раздела реестра для службы совпадает с названием соответствующего процесса, например NtLmSsp, но часто встречаются и описательные названия, такие, как InoculateIT Server. Найти нужный ключ реестра можно с помощью команды Edit | Find (правка | поиск), указав в строке поиска название процесса (т. е. имя исполняемого файла). Найдя нужный раздел реестра, следует выделить в левой панели название службы и добавить в него или отредактировать значение DependOnService с типом REG_ MULTI_SZ. Перечислите названия служб (следует указывать имена в том виде, в каком они встречаются в ветви Services), от которых зависит служба, вызывающая ошибку. В данном случае это будет NtLmSsp (см. Рисунок 1).

Рисунок 1. Задание зависимости служб в реестре с помощью regedt32.

Если проблема с запуском службы возникает из-за множественных зависимостей от других служб, требуется перечислить названия всех служб в отдельных строках диалогового окна DependOnService. Если служба входит в состав группы служб (например, мини-порт SCSI, первичный диск, видео), тогда следует указывать зависимость от нее. Более подробные сведения о зависимостях, службах и группах служб можно найти в статьях «CurrentControl SetServices Subkey Entries» (http://support.microsoft.com/support/kb/articles/q103/0/00.asp), «REG: Network Services Entries, Part 2» (http://support.microsoft.com/support/ kb/articles/q102/9/96.asp), «HOWTO: Control Device Driver Load Order» (http://support.microsoft.com/support/kb/articles/q115/4/86.asp) и «How to Delay Loading of Specific Services» (http://support.microsoft.com/support/kb/articles/q193/8/88.asp).

Microsoft Windows NT Server 4.0 Resource Kit содержит утилиту sc.exe, которая позволяет просматривать и изменять зависимости служб из командной строки. Инструкции по использованию sc.exe можно найти в документации Resource Kit.

В.: Нам не удается настроить в службе безопасности Windows NT систему аутентификации удаленных пользователей. Мы устанавливаем в User Manager учетную запись IUSR_computername для обеспечения анонимного доступа в Microsoft Internet Service Manager (ISM) и ограниченной базовой аутентификации пользователей (простой текст). Но при проверке аутентификации получаем диалоговое окно, запрашивающее имя пользователя и пароль. При этом введенные нами имя и пароль система не принимает. Как настроить систему, чтобы клиенты получали доступ к сайту после ввода имени пользователя и пароля?

О.: Для применения анонимной аутентификации (т. е. аутентификации для общих каталогов и файлов, которая не требует явного определения прав доступа) необходимо выполнить дополнительную настройку. Следует убедиться, что пароль для учетной записи IUSR_computername (т. е. IUSR_MYSERVER - учетная запись, используемая для анонимного доступа к серверу), совпадает с паролем, указанным в ISM. Для этого нужно воспользоваться ручной настройкой в Microsoft Internet Information Server 4.0 и 3.0 или задействовать автоматическую синхронизацию паролей в IIS 4.0 и более поздних версиях. Далее необходимо с помощью User Manager разрешить для учетной записи (или соответствующей ей группы) локальную регистрацию на сервере IIS. Затем указать в списках доступа ACL файловой системы NTFS, что учетная запись IUSR имеет необходимые полномочия для доступа к нужным каталогам и файлам. Если вы собираетесь установить на Web-сервере обязательную аутентификацию всех пользователей, даже при доступе к домашней странице следует снять флажок Allow Anonymous Access на закладке Directory Security.

Чтобы доступ к ресурсам сервера осуществлялся только при явной аутентификации пользователей, следует выполнить те же настройки, что и при установке анонимной аутентификации. При этом необходимо в User Manager создать дополнительную учетную запись, которая будет обладать соответствующими правами доступа к файлам и каталогам. В рассматриваемом случае эти права не следует присваивать для записи IUSR. Если это сделать, браузер клиента будет запрашивать пароль при попытках обращения к защищенным файлам и каталогам на сервере. Настройка системы аутентификации будет работать корректно при правильной настройке прав доступа к файлам и каталогам для пользовательской учетной записи (т. е. записи, используемой браузером клиента), если пользователь имеет права локальной регистрации на сервере или в домене, а система получает корректный пароль при аутентификации.

В.: В отличие от Windows NT 4.0, программа установки Windows 2000 не позволяет выбирать параметры установки дополнительных компонентов - игр, мультимедийных файлов, утилит и средств работы для людей с ограниченной подвижностью, слабым зрением или слухом. Windows 2000 устанавливает их по умолчанию. После завершения установки я хотел удалить все лишнее с помощью модуля установки и удаления программ панели управления, но там тоже нет средств удаления этих компонентов. Как быть?

О.: Можно настроить Windows 2000 так, чтобы программа установки позволяла выбирать, но для этого придется выполнить ручную настройку. Для управления настройками в процессе инсталляции системы необходимо скопировать файлы из каталога i386 установочного компакт-диска на локальный или сетевой диск, с которого будет производиться установка. Далее следует найти в этом каталоге и распаковать файл sysoc.in_:

expand -r sysoc.in_
Рисунок 2. Распаковка файла sysoc.in_.

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

; old base components

и у тех параметров, которыми предстоит управлять, убрать поле HIDE и соответствующую запятую; так, для выбора компонентов мультимедиа нужно изменить строку

MultiM=ocgen.dll,OcEntry,multimed.inf,HIDE,7

чтобы получилось

MultiM=ocgen.dll,OcEntry,multimed.inf,7

Кроме того, следует удалить пометку HIDE из строки AccessUtil=, иначе эти компоненты окажутся недоступными в модуле установки и удаления программ. Теперь можно сохранить и закрыть файл sysoc.inf.

Чтобы разрешить установку и удаление компонентов в уже установленной системе Windows 2000, нужно перейти в каталог \%systemroot% inf, найти там файл sysoc.inf и внести в него описанные выше изменения. Перед правкой не забудьте сделать резервную копию этого файла, например сохраните его как sysoc.bak. После сохранения изменений в файле можно использовать модуль установки и удаления программ для удаления и установки этих компонентов.

В.: В нашей компании установлена ОС Windows NT 4.0 с пакетом обновлений Service Pack 4. Компьютеры настроены на использование DNS через серверы BIND 4.0. Большинство рабочих станций главного офиса регистрируется в домене TELLABS. В компании также используется станция UNIX, полное имя которой (Fully Qualified Domain Name, FQDN) tellabs.hq.tellabs.com, а краткое - tellabs. Мы отключили флажок Enable DNS for Windows resolution, полагая, что хост будет перегружен запросами от рабочих станций из-за совпадения имен. Оправданы ли наши опасения?

О.: Вряд ли на хост попадет избыточный трафик, поскольку пространства имен DNS и NetBIOS не пересекаются. Когда клиент WINS посылает через NetBIOS запрос к TELLABS, этот запрос будет направлен контроллеру домена TELLABS (в форме широковещательного запроса к серверу WINS). Клиент WINS использует для запросов к серверу WINS протокол NetBIOS, так что сервер DNS их не получит. В качестве ответа на запрос сервер WINS выдаст список IP-адресов контроллеров домена TELLABS, а не хоста tellabs.hq. tellabs.com.

И все же вы не застрахованы от возникновения конфликта имен в будущем. Например, ошибка может возникнуть, если имя хоста DNS совпадает с именем NetBIOS другого хоста IP. Тогда, в зависимости от вида используемого клиентом запроса, сервер имен может вернуть клиенту неправильный адрес IP. Все же следует придерживаться общего правила, чтобы имена DNS и NetBIOS компьютера совпадали, и избегать неоднозначности между пространствами имен (т. е. совпадений имени хоста с именами доменов и рабочих групп NT).

В.: Я столкнулся с проблемой запуска Windows NT, когда система загружается только с системной дискеты. В статье «Windows NT не загружается при высокой фрагментации MFT» (http://support.microsoft.com/support/kb/articles/q228/7/34.asp) рекомендуется запустить программу bcupdate.exe, но не сказано, где ее найти. Подскажите, что делать?

О.: Судя по всему, вам довелось найти фантомную утилиту. Время от времени в статьях базы знаний Microsoft Knowledge Base встречаются упоминания о несуществующих утилитах и «заплатах», которые будто бы предназначены для решения различных проблем. В упомянутой вами статье действительно описана утилита bcupdate.exe, изменяющая системный загрузчик так, чтобы восстановить нормальную загрузку при высокой фрагментации MFT раздела NTFS. Bcupdate.exe должна входить в комплект поставки пакетов обновлений Service Pack 6 (SP6) и SP6a, но найти программу так и не удалось. Мы искали ее на всех компактах Service Pack, в TechNet, на сайте Microsoft, а также в конференциях и группах новостей. Возможно, функции программы bcupdate.exe реализованы в самом SP6, а, может быть, она так и не была выпущена.

Попробуйте применить обновления SP6a - может быть, произойдет обещанное изменение системного загрузчика. Если это не поможет, воспользуйтесь последней версией Diskeeper компании Executive Software или Norton Speed Disk компании Symantec для дефрагментации MFT на разделе NTFS. Теоретически, эти утилиты должны дефрагментировать MFT до такой степени, чтобы восстановить возможность нормальной загрузки системы.

В.: Хотя установка службы Internet Connection Server (ICS) на сервере Windows 2000 Server прошла успешно, я не могу заставить ICS нормально работать. В чем дело?

О.: Информации недостаточно, но, судя по всему, ваш сервер ICS также выполняет функции сервера динамического DNS (DDNS) или DHCP. Для предоставления клиентам частной локальной сети доступа в Internet сервер ICS автоматически выделяет небольшое пространство DHCP (так называемый распределитель DHCP) и устанавливает службу кэширования DNS. Обе службы имеют привязку к тем же портам, что и серверы DDNS и DHCP. Таким образом, между ICS и DDNS или DHCP возникает конфликт. Самое простое, что можно сделать в данной ситуации, - перенести службу ICS на другой сервер или использовать вместо ICS службу трансляции сетевых адресов Network Address Translation (NAT, входит в состав RRAS), которую, в отличие от ICS, можно настраивать. NAT позволяет отключить распределитель DHCP и исключить конфликт с DDNS - для этого надо в диалоговом окне NAT Properties на закладке Address снять флажок Automatically assign IP addresses using DHCP. Во избежание конфликтов при использовании DDNS на том же компьютере можно также на закладке Name Resolution снять флажок Clients using Domain Naming System. Дополнительные сведения о возможных конфликтах ICS изложены в статье «ICS May Not Function Properly with DNS or DHCP Server Services on the Same Computer», которую можно найти на сайте Microsoft http://support.microsoft.com/support/kb/articles/q250/6/03.asp.

В.: У нас проблема с использованием почты Internet на сервере Microsoft Exchange. В системном журнале часто появляется запись об ошибке «503 Please introduce yourself first» и о том, что письмо не отправлено. Почему так получается?

О.: Это происходит при использовании протокола Enhanced SMTP (ESMTP), который включает шифрование поверх системы аутентификации, используемой сервером Exchange при передаче почты Internet. Старый протокол SMTP не поддерживает этот дополнительный уровень шифрования. Некоторые системы не поддерживают разработанную IETF спецификацию RFC 1651, определяющую команды ESMTP. Данное ограничение может вызывать ошибки при отправке почты. Принимающий почту сервер ожидает ответа SMTP от посылающего сервера, а тот посылает ответ в непонятном формате ESMTP.

Вы могли бы попробовать отключить использование сервером Exchange протокола ESMTP для исходящих сообщений. При этом надо иметь в виду, что, отключив ESMTP, вы не сможете пользоваться командой ETRN при подключении по коммутируемой линии. Команда ETRN сообщает шлюзу ESMTP или почтовому серверу, что необходимо обработать электронную почту, подлежащую отправке на другую систему SMTP. При подключении по выделенной линии невозможность использования ETRN не вызовет проблем, а вот при работе через коммутируемое соединение следует проконсультироваться с администраторами хоста. Отказ от использования ESMTP также приведет к отключению шифрования при обмене сообщениями электронной почты.

Чтобы отключить использование сервером Exchange протокола ESMTP, запустите редактор реестра regedt32, перейдите в раздел HKEY_LOCAL_ MACHINESYSTEMCurrentControlSetServicesMSExchange IMC Parameters и добавьте туда параметр DisableOutbondESMTP типа REG_ DWORD со значением 1. Теперь следует убедиться, что добавленный ключ отображается в списке параметров, закрыть программу regedt32 и перезапустить службу Internet Mail Service (IMS).

ОБ АВТОРАХ

Шон Дейли - редактор журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет звание MCSE. Последней из его книг была «Optimizing Windows NT», выпущенная издательством IDG Books. С ним можно связаться по адресу электронной почты: sean@ntsol.com.

Боб Хронистер - редактор журнала Windows NT Magazine и президент компании Chronister Consultants. Соавтор книги «Windows NT Backup and Recovery» (издательство Osborne/McGraw-Hill). С ним можно связаться по адресу: bob@winntmag.com.

Поделитесь материалом с коллегами и друзьями