Отладка приложений

Обеспечение безопасности


Если не указано иное, службы запускаются под специальной учетной записью System. Поскольку в Windows 2000 защита всех объектов выполняется на пользовательском уровне, системный учет ведется для отдельной машины, а не для сети в целом. Следовательно, процесс, выполняемый под учетной записью System, не имеет доступа к сетевым ресурсам. Во время разработки многих служб, таких как упомянутая выше служба управления источником бесперебойного питания, проблемы безопасности могут никогда не возникать. Но если, например, попытаться разделить ресурс отображаемой памяти между вашей службой и клиентским UI-приложением, а защита не установлена правильно, то в клиентских приложениях вы столкнетесь с ошибками типа "access denied" (доступ запрещен).

К сожалению, никакая отладка не решает до конца проблем безопасности. Подход к проблемам безопасности при программировании как служб, так и клиентских приложений должен быть одинаково серьезным. Полное описание программирования всех аспектов безопасности (security programming) в Windows 2000 заняло бы целую книгу, поэтому будьте готовы потратить некоторое время на планирование программирования безопасности с самого начала разработки приложения. Для первого ознакомления с вопросами безопасности программных служб я настоятельно рекомендую прочитать статью Фрэнка Кима "Why Do Certain Win32 Technologies Misbehave in Windows NT Services?" (Почему некоторые Win32 технологии плохо ведут себя в службах Windows NT?) в мартовском выпуске журнала Microsoft Systems Journal за 1998 год (http://www.microsoft.com/MSJ/0398/service2.htm). Другой превосходный источник — колонка Кейта Брауна (Keith Browns) "Security Briefs" (Коротко о безопасности) в журнале Microsoft Systems Journal.

Те из вас, кому приходилось заниматься этими проблемами, могут подумать, что вместо возни с разработкой служб гораздо проще запустить программу SRVANY.EXE из Windows 2000 Resource Kit, которая позволяет преобразовать любое приложение в службу, и покончить с этим делом. Это иногда действительно помогает, но в упомянутой статье Кима рассмотрены несколько причин, по которым SRVANY.EXE не годится для этого.

Теперь вернемся к основному вопросу этой главы: как отлаживать службы?



Содержание раздела