Суббота, 27.04.2024, 03:37
Приветствую Вас Гость

SYSTEM ADMINISTRATOR

Меню
Разделы
Друзья
Реклама
Наша кнопка
Опрос
Нужен ли нам форум?
Всего ответов: 64
Главная » 2011 » Апрель » 12 » Службы Windows XP и управление ими
15:04
Службы Windows XP и управление ими

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

Основное отличие таких приложений от обычных пользовательских (таких как Photoshop, Visual Studio, MS Word и.т.п.) состоит в том, что не пользователь запускает их тогда, когда они ему необходимы, эти приложения должны работать всегда, когда компьютер включен.

Действительно, какое имеет значение, вошел ли локальный пользователь в систему, для предоставления папки компьютера в общий доступ? То приложение, которое отвечает за предоставление папок в общий доступ не должно зависеть от входа пользователя в систему, оно должно стартовать вместе с операционной системой. Или представьте себе антивирус, который нужно запускать после входа в систему. Вероятно, во многих случаях будет уже поздно.

Еще одно отличие приложений такого рода от обычных состоит в том, что обычные приложения обычно имеют графический (или текстовый) интерфейс с пользователем непосредственно на рабочем столе пользователя, а приложения, о которых идет речь, чаще всего, предлагают интерфейсы для взаимодействия по сети. Такие приложения в Windows 2000/XP называют службами.

Итак, основные отличия служб от обычных приложений:

  • 1. Службы выполняют задачи, непосредственно, порой, не заметные для пользователя, несмотря на некоторую тавтологию, эти задачи можно назвать служебными.
  • 2. Службы обычно стартуют при старте операционной системы, а не в тот момент, когда пользователь решит их запустить. Любую из служб можно настроить на автоматический запуск в процессе начальной загрузки системы. Информация о том, на каком именно этапе начальной загрузки происходит запуск той или иной службы, хранится в реестре.
  • 3. Службы обычно не имеют непосредственного графического интерфейса к пользователю, чаще всего они ориентированы на работу с ними по сети. Службы могут работать без какого-либо взаимодействия с пользователем. Они продолжают функционирование вне зависимости от того, подключен ли к системе какой-либо пользователь или нет. Другими словами, службы могут начать работу еще до того, как к системе подключится пользователь, и продолжают работать после того, как пользователь отключится от системы.
  • 4. Между службами можно установить взаимозависимости. При этом если служба А зависит от службы Б и если служба Б по каким-либо причинам не смогла начать работу, то служба А также не будет запущена.
  • Установить в системе новую службу может только пользователь, обладающий административными полномочиями.

Что же есть общего между обычными приложениями и службами:

  • 1. И то и другое – в конечном счете, программы.
  • 2. И службы и приложения можно устанавливать и удалять.
  • 3. И службы и приложения запускаются от имени некоторого пользователя: приложения – от имени того пользователя, который их запустил, а службы специально настраиваются. Службы могут быть настроены на использование конкретной учетной записи и пароля. Благодаря этому они обладают ограниченным доступом к ресурсам системы. Система безопасности Windows XP/2000 контролирует взаимодействие служб и системы точно так же, как это происходит в отношении пользователей.
  • 4. Работу служб, как и работу приложений можно прекратить.

Службы можно запускать и останавливать при помощи консоли Services (Службы), которая входит в состав консоли Computer Manegement (Управление компьютером), или при помощи команд net start и net stop.

Чтобы просмотреть список установленных служб, запустите консоль Computer Manegement (Управление компьютером) и щелкните на узле Services (Службы) консольного дерева.

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

Оснастка «Службы» позволяет управлять службами как таковыми, не привязываясь к специфике работы конкретной службы. Оснастка «Службы» позволяет управлять службами, как кнопка «Закрыть» завершает работу программы, а кнопка «минимизировать» сворачивает ее в панель задач – не привязываясь к тому, что делает та или иная программа ее всегда закрывают или минимизируют стандартным образом.

Данная оснастка не предназначена для инсталляции служб – для этого в ней нет никаких средств. Службы инсталлируются так же, как обычные приложения – запуском инсталляционного файла. Так же данная оснастка не предназначена для деинсталляции служб – снова таки, службы, как и приложения, деинсталлируются запуском соответствующей программы для деинсталляции. Обратите внимание, что если у вас установлена программа- антивирус, то в списке служб вы обязательно найдете соответствующую службу. А появилась эта служба в списке при установке программы. Теперь если вы деинсталлируете антивирус, то и запись службы тоже исчезнет. Таким образом, практически любое приложение можно установить как службу, это должно быть предусмотрено программой инсталлятором. Чуть позже мы узнаем, как установить программу, как службу даже если ее инсталлятор этого не предусматривает. Вы спросите, а что если установить программу и поместить ее ярлык в "Автозапуск", не будет ли это то же самое, что и служба? Опять же обращаю ваше внимание на то, что программы из автозапуска стартуют при входе пользователя, а службы при старте системы.

Чтобы определить свойства службы в консоли Services (Службы) выделите нужную службу правой кнопкой, а затем выберите пункт Properties (Свойства). Окно диалога свойств службы содержит четыре вкладки: General (Общие), Log On (Вход в систему), Recovery (Восстановление), Dependencies (Зависимости). Разберем эти вкладки последовательно.

- General (Общие). Позволяет запустить и остановить службу, а также определить будет ли служба запускаться по команде (Manual - Вручную), автоматически каждый раз при запуске системы (Automatic - Авто) или служба вообще не будет запускаться (Disable - Отключено).

У каждой службы есть имя и выводимое имя. Имя службы является внутренним именем, которым пользуется ОС, а выводимое имя предназначено для удобства пользователя. Когда мы работаем со службой в графической оснастке, то видим в списке выводимое имя службы, а когда будем работать со службами с помощью командной строки, то сможем обращаться к службе и по ее имени и по ее выводимому имени.

В строке "Описание" содержится краткая информация о назначении службы.
В строке "Исполняемый файл" можно посмотреть, какой именно файл является физической реализацией данной службы, например, если служба не стартует, можно проверить, а есть ли такой файл на диске.

Рассмотрим выпадающее меню "Тип запуска".
Есть три варианта запуска службы:

  • 1. Автоматически. Служба будет стартовать автоматически при старте операционной системы, не дожидаясь входа пользователя в систему. Так стартуют многие службы, например те, которые предоставляют ресурсы в сети для общего доступа.
  • 2. Вручную. Служба не стартует автоматически при запуске ОС. Пользователь может самостоятельно запустить службу, воспользовавшись данной оснасткой или дать специальную команду в командной строке. При этом запустить службу сможет не только пользователь, но и другая служба или приложение, дав соответствующую команду.
  • 3. Отключено. Служба не стартует автоматически при запуске ОС. Пользователь может запустить службу только после того, как с помощью данной оснастки переведет ее в один из двух предыдущих режимов, такая настройка НЕ позволит запустить службу другой службе или программе без вмешательства пользователя

Перед тем, как рассмотреть состояния, в которых может находиться служба, давайте перейдем к последней вкладке "Зависимости".

Когда вы переходите на эту вкладку, утилита настройки служб обращается к реестру для того, чтобы получить информацию о взаимозависимости между различными службами, установленными в системе. Эта информация отображается в виде двух разделов.
В первом разделе отображается список служб, от которых зависит данная служба. Если одна из служб, перечисленных в данном списке, не будет запущена, служба, которую вы настраиваете, не сможет запуститься.
Во втором разделе отображается список служб, зависящих от данной службы. Если данная служба не будет работать, службы, перечисленные в данном списке, также не смогут работать. Сведения, содержащиеся в данных списках, чрезвычайно полезны в случае, если вы намерены осуществить останов или запуск службы.
Обратите внимание на то, что мы не конфигурируем с помощью оснастки «Службы» зависимости служб, мы просто получаем информацию об имеющихся зависимостях.

Веренемся на первую вкладку и рассмотрим собственно состояния служб:

  • 1. Работает. Это обычное состояние службы, как ясно из названия, служба работает. Из этого состояния службу можно перевести в два других состояния – остановлена (кнопкой «Стоп») и приостановлена (кнопкой «Пауза»). Переход в режим работы осуществляется кнопкой Start (Пуск). Если служба обладает собственным исполняемым файлом, этот файл загружается в память и запускается. Если служба входит в состав некоторого исполняемого файла, в состав которого наряду с ней входят другие службы, начинает работу программный поток, который соответствует этой службе.
  • 2. Остановлена. Нажав кнопку «Стоп» мы останавливаем службу, она перестает работать. При этом перед остановкой данной службы будут остановлены все зависимые от нее службы, о чем предупредят пользователя. Запустив затем службу, мы снова заставим ее работать, но при этом зависимые службы сами по себе не стартуют, их необходимо стартовать отдельно.
  • 3. Приостановлена. Нажав кнопку «Пауза», мы приостановим службу, она перестанет работать, но зависимые службы не будут ни остановлены, ни приостановлены. И хотя, возможно, зависимые службы и не будут правильно работать, пока приостановлена та служба, от которой они зависят, но при нажатии кнопки «Продолжить» служба продолжает свою работу, как и все зависимые от нее службы. В отношении разных служб эта команда выполняется по-разному. Некоторые службы после выполнения этой команды перестают отвечать на запросы (что напоминает остановку работы службы), другие перестают выполнять только часть своих функций. Некоторые службы вообще не реагируют на команды Pause (Пауза) и Resume (Продолжить).

Постарайтесь не выполнять запуск и остановку служб без крайней необходимости. Дело в том, что в результате любой из этих процедур могут быть нарушены зависимости между службами, что может привести к непредсказуемым результатам. Можно протестировать эти операции, когда на машине не выполняются какие-либо важные действия. Я настоятельно не рекомендую пользоваться советами по оптимизации быстродействия системы, где предлагают выключить ненужные службы для освобождения оперативной памяти. Освободите вы при этом пару мегабайт максимум, а проблем можно создать огромное количество. Никто не может знать, какие службы нужны вашей системе, а какие нет в данный момент. Пример: пользователь отключает ненужную службу "DHCP client" и вроде как все хорошо, система стабильно работает уже несколько месяцев, и про эту горе оптимизацию пользователь уже давно забыл. В один прекрасный день он решает подключиться к сети Интернет, купил модем, установил драйвера, настроил соединение по инструкции от провайдера, но ничего не получилось. Дальше все может развиваться так: смена драйверов, замена модема, вызов специалиста и.т.д. Этого можно было избежать. Вывод следующий: если вы не знаете, какие функции выполняет данная служба, то не стоит изменять режим ее работы и запуска.

Перейдем на вкладку "Вход в систему".

Когда пользователь компьютера запускает приложение, оно запускается с привилегиями его учетной записи. Но службу запускает не пользователь компьютера, она обычно запускается еще до его входа в систему. Однако любое приложение в Windows должно быть запущено от имени некоторой учетной записи, и поэтому администратор может настроить ту или иную службу, от имени какой учетной записи она должна запускаться. Обычно все службы запускаются от имени специальной учетной записи «Система», однако иногда бывают ситуации, когда необходимо запустить службу от имени другой учетной записи. В любой момент любую службу можно аутентифицировать, даже если в данный момент к системе не подключен ни один пользователь. Чтобы выполнить то или иное действие, служба должна обладать необходимыми полномочиями. Полномочия службы не безграничны. Они соответствуют набору прав, которым обладает учетная запись, используемая службой для подключения к системе.

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

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

- Не следует ограничивать срок действия учетной записи службы. Если срок действия учетной записи истечет, служба не сможет получить доступ к локальным и сетевым ресурсам.

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

Как правило, не рекомендуется использовать для аутентификации служб учетную запись LocalSystem (локальная система). Вместо этого следует создать набор специальных учетных записей, а затем настроить работающие в системе службы на использование этих учетных записей. Имена и пароли этих учетных записей следует держать в секрете.
В некоторых случаях может потребоваться использование учетной записи, отличной от LocalSystem. Такая ситуация может возникнуть в случае, если служба должна обмениваться данными с другими компьютерами через сеть. Дело в том, что учетная запись LocalSystem не может использоваться в сети. Ее можно использовать только на локальном компьютере.
При настройке учетных записей служб будьте внимательны! Не стоит предоставлять службам слишком широких полномочий по всей сети и в локальной системе, если, конечно, в этом нет насущной необходимости. Если же вы намерены наделить службу широким набором административных полномочий, внимательно изучите все связанные с этим риски.

Например, если злоумышленник подменит файл отвечающий за службу своим файлом, то при старте системы вредоносная программа будет запущена с системными привилегиями. К чему это может привести - понятно. Предупреждаю! Переназначение учетных записей для запуска служб для усиления безопасности это долгая и кропотливая работа. Необходимо четко знать, какие привилегии могут понадобиться службе для выполнения той или иной операции. Соответственно этими привилегиями должна обладать и учетная запись, которую вы планируете использовать для запуска службы.

Более прозаичный пример. К одному источнику бесперебойного питания подключены два компьютера. При этом один из них связан с ИБП специальным интерфейсом и при получении от ИБП сигнала о потере внешнего питания может выполнять какие-либо действия. Например, корректно закрыть программы и выключить компьютер. А как же второй ПК? Когда батарея разрядится, он просто жестко будет выключен. Но служба управления питанием первого ПК может послать на второй команду останова. При проверке эта команда не срабатывает. Почему? Все просто, служба управления питанием запущена от имени системной учетной записи локальной машины, а удаленная машина такой записи не знает, и подчиняться ей не собирается. После настройки службы управления питанием на запуск с учетной записью, присутствующей на обоих ПК и имеющей право выключения компьютера, все стало на свои места.

Итак, при помощи этой вкладки вы можете настроить пользовательскую учетную запись и пароль, который будет использоваться при запуске службы.
Здесь же можно разрешить или запретить работу службы в том или ином профиле оборудования. Возможность разрешения/запрещения службы в разных профилях оборудования, как правило, используется для настройки систем Windows XP/2000 Professional.

Следующая вкладка Recovery (Восстановление).

Эта вкладка позволяет настроить реакцию системы в случае, если служба не может запуститься. Действия системы можно настроить на случай, если сбой службы произошел впервые, повторно или более чем в два раза. При возникновении сбоя система может ничего не делать, перезапустить службу, перезагрузить компьютер или выполнить программу, командная строка запуска которой настраивается здесь же, в разделе Выполнение программы. Если в случае сбоя компьютер будет перезагружен, можно приказать системе перед перезагрузкой переслать другим компьютерам сети некоторое сообщение. Настройка пересылаемого сообщения выполняется при помощи кнопки Restart options (Параметры перезагрузки компьютера).

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

Теперь пример использования этой настройки: вирус MSBlast, используя некоторые уязвимости в Windows, приводит к отказу службы «Вызов удаленных процедур». В Windows 2000, при отказе этой службы ничего не предпринимается, а в Windows XP настройки по умолчанию требуют перезагрузки компьютера в случае выхода из строя этой службы. Соответственно, при вирусной атаке, компьютер под управлением Windows XP перезагружается, давая пользователю одну минуту «на размышления». Возникает проблема – скачать из Интернета обновление для системы, делающее ее неуязвимой для атак данного вируса не получается – компьютер перезагружается раньше, чем удается скачать необходимое обновление. Как один из вариантов решения проблемы, можно предложить следующее: перенастроить службу «Удаленный вызов процедур» таким образом, чтобы система не перезагружалась при отказе данной службы, а уже затем спокойно скачать обновление ОС, установить его, скачать антивирус, удаляющий вирус MSBlast с компьютера, запустить его, а уже затем перенастроить службу снова так, как она была настроена по – умолчанию.

Обратим внимание на службы lanmanserver (Сервер) и lanmanworkstation (Рабочая станция). Подчеркнуть, что служба Сервер отвечает за предоставление в общий доступ папок и принтеров нашего компьютера, ее остановка приведет к тому, что все общие ресурсы нашего компьютера станут недоступны для пользователей в сети. В результате остановки службы lanmanserver (Сервер) также будет остановлена служба Computer Browser (Обозреватель компьютеров), равно как и другие службы, зависящие от службы lanmanserver (Сервер). Как вы помните список взаимозависимостей служб отображается на вкладке Dependenсies (Зависимости) в окне диалога Properties (Свойства) службы. В результате остановки службы lanmanserver (Сервер) любые соединения между сервером (в данном случае сервером выступает ваша машина) и клиентами будут прерваны. Это может привести к потере данных и нарушению целостности файлов. Поэтому, прежде чем останавливать на компьютере службу lanmanserver (Сервер), следует предупредить пользователей о предстоящем останове. В этом случае они смогут завершить свою работу и корректно отключиться от сервера. Проще всего выполнить это при помощи оснастки "Службы" или "Общие папки".

За что же отвечает служба lanmanworkstation (Рабочая станция)? При доступе к чужим общим папкам, файловым менеджерам (проводник, FAR manager etc) нет необходимости реализовывать всю сетевую клиентскую часть, так как в Windows есть служба, организующая доступ к общим папкам для любого приложения – Рабочая станция. Остановка службы Рабочая станция делает невозможным доступ к чужим общим папкам на вашем компьютере.

Теперь рассмотрим управление службами из командной строки.

Для управления службами применяют команду net.exe с параметрами start, stop, pause, continue.

Чтобы отобразить список работающих служб в окне текстовой консоли, в командной строке наберите команду net start.

Чтобы запустить службу из командной строки, используйте команду net start.
Например, запустить службу telnet можно при помощи команды net start telnet.
Для остановки службы из командной строки следует использовать команду net stop.
Например, запустить службу telnet можно при помощи команды net stop telnet.
Если имя службы содержит пробелы, заключите его в кавычки. Например, net start «task scheduler».
Можно использовать русское наименование службы, однако при этом имя службы необходимо заключить в кавычки. К тому же при использовании русских названий служб не допускается заменять прописные буквы на строчные.
Например, net stop «Планировщик задач».

Все перечисленные правила справедливы для приостановки и продолжения работы службы.

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

Категория: Настройки | Просмотров: 5097 | Добавил: AinCross | Теги: Управление службами, Службы Windows XP | Рейтинг: 3.5/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Регистрация
Поиск
Пользовательский поиск
Реклама
Архив записей
Календарь
«  Апрель 2011  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Считалки
Яндекс.Метрика

Онлайн всего: 1
Гостей: 1
Пользователей: 0