Предоставление пользователям Windows 2000 прав управления службами

Аннотация

В данной статье описываются методы предоставления пользователям Windows 2000 прав управления службами. По умолчанию в Windows 2000 только члены групп «Администраторы» и «Опытные пользователи» могут запускать, останавливать и приостанавливать службы. В данной статье описываются способы предоставления этих прав другим пользователям.

Способ 1. Использование групповой политики

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

256345 Configuring Group Policies to Set Security for System Services
Указанная статья содержит пошаговые инструкции, но в ней не сказано, что соответствующие параметры отсутствуют в локальной групповой политике.

Способ 2. Использование шаблонов безопасности

Данный способ похож на способ 1, но для изменения разрешений в нем используются шаблоны безопасности. Чтобы воспользоваться этим способом выполните следующие действия.
  1. Нажмите кнопку Пуск, выберите пункт Выполнить и введите команду MMC.
  2. В меню Консоль выберите команду Добавить или удалить оснастку.
  3. Нажмите кнопку Добавить.
  4. Выберите оснастку Анализ и настройка безопасности и нажмите кнопку Добавить.
  5. Нажмите кнопку Закрыть, а затем кнопку ОК.
  6. В окне консоли щелкните правой кнопкой узел Анализ и настройка безопасности и выберите команду Открыть базу данных.
  7. Введите имя базы данных и выберите папку, в которой она будет сохранена.
  8. В открывшемся окне «Импортировать шаблон» выберите нужный шаблон. Например, шаблон basicwk.inf содержит стандартные значения параметров для компьютеров под управлением Windows 2000 Professional.
  9. В окне консоли щелкните правой кнопкой узел Анализ и настройка безопасности и выберите команду Анализ компьютера. В появившемся окне «Анализ» укажите путь к файлу журнала.
  10. После окончания анализа настройте разрешения на доступ к службам следующим образом.
    1. В окне консоли дважды щелкните узел Системные службы.
    2. Щелкните правой кнопкой мыши нужную службу и выберите команду Безопасность.
    3. Нажмите кнопку Изменить безопасность.
    4. Добавьте необходимые учетные записи и настройте для каждой из них разрешения. По умолчанию пользователи получают право «Пуск, стоп и пауза».
  11. Чтобы изменения вступили в силу, щелкните правой кнопкой мыши узел Анализ и настройка безопасности и выберите команду Настроить компьютер.

Программа SECEDIT, поставляемая вместе с Windows 2000, позволяет экспортировать измененные параметры и применять их на других компьютерах. Для получения дополнительной информации об использовании программы SECEDIT выполните в командной строке следующую команду:
secedit /?
Примечание. Этот способ применения настроек вызывает повторное применение всех настроек, содержащихся в шаблоне, что может привести к переопределению прав доступа к файлам, реестру и службам.

Способ 3. Использование программы Subinacl.exe

Данный способ заключается в использовании программы Subinacl.exe, входящей в состав набора Windows 2000 Resource Kit. Ниже представлен синтаксис команды Subinacl:

SUBINACL /SERVICE \\Имя_компьютера\Имя_службы /GRANT=[Имя_Домена\]Имя_пользователя[=Тип_доступа]

Примечания.

  • Для успешного выполнения команды необходимо, чтобы запускающий ее пользователь обладал правами администратора.
  • Если имя компьютера не указано, то операции выполняются для локального компьютера.
  • Если не указано имя домена, то учетная запись ищется на локальном компьютере.
  • Вместо имени пользователя может быть указано имя группы.
  • Параметр «Тип_доступа» может принимать следующие значения:

    F : полный доступ
    R : чтение
    W : запись
    X : выполнение
    L : чтение разрешений 
    Q : запрос конфигурации службы
    S : запрос состояния службы
    E : перечисление зависящих служб
    C : изменение конфигурации службы
    T : запуск службы
    O : остановка службы
    P : приостановка и возобновление работы службы
    I : опрос службы
    U : пользовательские команды
  • Если тип доступа не указан, то по умолчанию используется значение «F» (полный доступ).
  • Программа Subinacl может быть также использована для изменения прав доступа к файлам, папкам и разделам реестра. Дополнительные сведения содержатся в документации по набору Windows 2000 Resource Kit.
  • В качестве имени службы должно указываться краткое имя, используемое в соответствующем разделе реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>
    Если имя службы содержит пробелы, то весь параметр должен быть заключен в кавычки. Например:
    "\\имя_компьютера\имя службы с пробелами"

Автоматизация многократных изменений

Программа Subinacl не позволяет устанавливать права доступа одновременно ко всем службам компьютера. Однако приведенный ниже сценарий демонстрирует способ автоматизации данной задачи путем расширения функциональности описанного выше метода:

strDomain = Wscript.Arguments.Item(0)'домен, в котором находится учетная запись компьютера
strComputer = Wscript.Arguments.Item(1)'имя netbios компьютера
strSecPrinc = Wscript.Arguments.Item(2)'имя пользователя в формате Имя_домена\Имя_пользователя
strAccess = Wscript.Arguments.Item(3)'тип доступа в соответствии с приведенным выше списком

'привязка к заданному компьютера
set objTarget = GetObject("WinNT://" & strDomain & "/" & strComputer & ",computer")

'создание объекта shell, необходимого в дальнейшем для вызова программы subinacl
set objCMD = CreateObject("Wscript.Shell")

'получение списка служб
objTarget.filter = Array("Service")

For each Service in objTarget

'вызов программы subinacl для задания разрешений
command = "subinacl /service " & Service.name & " /grant=" & strSecPrinc & "=" & strAccess
objCMD.Run command, 0

'отображение информации о службах, для которых были изменены разрешения
Wscript.Echo "Изменены права доступа к службе " & Service.name
next

Примечания.

  • Данный сценарий необходимо сохранить в файле с расширением VBS (например, Services.vbs) и вызывать следующим образом:

    CSCRIPT Services.vbs имя_домена имя_компьютера имя_пользователя тип_доступа
  • Если нет необходимости просматривать результаты работы сценария, можно закомментировать или удалить строку, содержащую текст «Wscript.Echo».
  • В данном примере не выполняется проверка на наличие ошибок, поэтому при его использовании необходимо соблюдать осторожность.
  • В документации по набору Windows 2000 Resource Kit упоминается программа svcacls.exe, выполняющая те же действия по изменению прав доступа, что и программа Subinacl. Это ошибка в документации.

Ссылки

За дополнительной информацией обратитесь к следующей статье Microsoft Knowledge Base:

269875 SVCACLS.EXE Is Not Included With The Windows 2000 Resource Kits
Свойства

Номер статьи: 288129 — последний просмотр: 6 апр. 2004 г. — редакция: 1

Отзывы и предложения