Разрешение запуска системных служб windows 10

Как предоставить обычным пользователям права на запуск/остановку служб Windows?

По умолчанию обычные пользователи (без прав администратора) не могут управлять системными службами Windows. Это означает, что пользовали не могут остановить, запустить (перезапустить), изменить настройки и разрешения служб Windows. В этой статье мы разберем несколько способов управления правами на службы Windows. В частности, мы покажем, как предоставить обычному пользователю, без прав администратора Windows, права на запуск, остановку и перезапуск определенной службы.

Предположим, нам нужно предоставить доменной учетной записи contoso\tuser права на перезапуск службы печати (Print Spooler) с системным именем Spooler. При попытке перезапустить службу под пользователей появляется ошибка: System error 5 has occurred. Access is denied.

Простого и удобного встроенного инструмента для управления разрешениями на службы в Windows нет. Мы рассмотрим несколько способ предоставления пользователю прав на службу:

Какой из них проще и удобнее – решать Вам.

Управление правами на службы с помощью встроенной утилиты SC.exe (Service controller)

Стандартный, встроенный в Windows способ управления правами на службы системы предусматривает использование консольной утилиты sc.exe (Service Controller).

Главная, проблема – зубодробительный синтаксис формата предоставления прав на сервис (используется формат SDDL — Security Description Definition Language).

Получить текущие разрешения на службу в виде SDDL строки можно так:

sc.exe sdshow Spooler

Что значат все эти символы?

Первая буква после скобок означает: разрешить (A, Allow) или запретить (D, Deny).

Следующая пачка символов – назначаемые права.

Последние 2 буквы — объекты (группа пользователей или SID), котором нужно назначить права. Есть список предустановленных групп.

AO Account operators
RU Alias to allow previous Windows 2000
AN Anonymous logon
AU Authenticated users
BA Built-in administrators
BG Built-in guests
BO Backup operators
BU Built-in users
CA Certificate server administrators
CG Creator group
CO Creator owner
DA Domain administrators
DC Domain computers
DD Domain controllers
DG Domain guests
DU Domain users
EA Enterprise administrators
ED Enterprise domain controllers
WD Everyone
PA Group Policy administrators
IU Interactively logged-on user
LA Local administrator
LG Local guest
LS Local service account
SY Local system
NU Network logon user
NO Network configuration operators
NS Network service account
PO Printer operators
PS Personal self
PU Power users
RS RAS servers group
RD Terminal server users
RE Replicator
RC Restricted code
SA Schema administrators
SO Server operators
SU Service logon user

Можно вместо предустановленной группы явно указать пользователя или группу по SID. Получить SID пользователя для текущего пользователя можно с помощью команды:

или для любого пользователя домена с помощью PowerShell комаднлета Get-ADUser:

Читайте также:  2448cs plus driver windows 10

Get-ADUser -Identity ‘iipeshkov’ | select SID

SID доменной группы можно получить с помощью командлета Get-ADGroup:

Чтобы назначить SDDL строку с правами на определённую службу, используется команда sc sdset. К примеру, права пользователю на службу spooler могут быть предоставлены следующей командой:
sc sdset Spooler «D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2133228432-2794320136-1823075350-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)»

Предоставление прав на перезапуск службы с помощью SubInACL

Для управления правами служб Windows гораздо проще воспользоваться консольной утилитой SubInACL из комплекта Sysinternals от Марка Руссиновича (права на которую вместе с автором теперь принадлежат Microsoft). Синтаксис этой утилиты гораздо проще и удобнее для восприятия. Рассмотрим, как предоставить права перезапуск службы с помощью SubInACL:

  1. Скачайте subibacl,msi со страницы (https://www.microsoft.com/en-us/download/details.aspx?id=23510) и установите ее на целевой системе;
  2. В командной строке с правами администратора перейдите в каталог с утилитой: cd “C:\Program Files (x86)\Windows Resource Kits\Tools\ ”
  3. Выполните команду: subinacl.exe /service Spooler /grant=contoso\tuser=PTO

Если вы все сделали верно, служба должна перезапуститься.

subinacl.exe /service Spooler /revoke=contoso\tuser

Process Explorer: Установка разрешений на службу

Достаточно просто изменить разрешения на службу с помощью еще одной утилиты Sysinternals — Process Explorer. Запустите Process Explorer с правами администратора и найдите в списке процессов процесс нужной вам службы. В нашем примере это spoolsv.exe (диспетчер очереди печати — C:\Windows\System32\spoolsv.exe). Откройте свойства процесса и перейдите на вкладку Services.

Нажмите на кнопку Permissions и в открывшемся окне добавьте пользователя или группу, которой нужно предоставить права на сервис и выберите уровень полномочий (Full Control/Write/Read).

Назначаем разрешения на службу с помощью PowerShell

В галерее TechNet имеется отдельный неофициальный модуль PowerShell для управления разрешениями на разные объекты Windows — PowerShellAccessControl Module (скачать его можно здесь). Этот модуль позволяет управлять правами на службы. Импортируйте модуль в свою PS сессию:

Получить эффективные разрешения на конкретную службу из PowerShell можно так:

Get-Service spooler | Get-EffectiveAccess -Principal corp\tuser

Чтобы предоставить обычному пользователю права на запуск и остановку службы, выполните:

Get-Service spooler | Add-AccessControlEntry -ServiceAccessRights Start,Stop -Principal corp\tuser

Используем шаблоны безопасности (Security Templates) для управления разрешениями служб

Более наглядный (но и требующий большего количества действий) графический способ управления правами на службы – с помощью шаблонов безопасности. Для реализации, откройте консоль mmc.exe и добавьте оснастку Security Templates.

Создадим новый шаблон (New Template).

Задайте имя нового шаблона и перейдите в раздел System Services. В списке служб выберите свою службу Print Spooler и откройте ее свойства.

Установите тип запуска (Automatic) и нажмите кнопку Edit Security.

С помощью кнопки Add добавьте учетную запись пользователя или группы, которым нужно предоставить права. В нашем случае, нам достаточно права Start, Stop and pause.

Сохраните шаблон (Save).

Если открыть этот файл, можно увидеть, что данные о правах доступа сохраняются в уже упомянутом ранее SDDL формате. Полученная таким образом строка может быть использована в качестве аргументы команды sc.exe.

Осталось с помощью оснастки Security Configuration and Analysis создать новую базу данных (Open Database) и импортировать новый шаблон безопасности из файла Spooler User Rights.inf.

Примените шаблон, вызвав из контекстного меню команду Configure Computer Now.

Теперь можно под пользователем проверить, что у него появились права на управление службой Print Spooler.

Управление правами служб через групповые политики

Если нужно раздать пользователям права запуска/остановки сервиса сразу на множестве северов или компьютерах домена, проще всего воспользоваться возможностями групповых политик (GPO).

  1. Создайте новую или отредактируйте существующую GPO, назначьте ее на нужный контейнер с компьютерами в Active Directory. Перейдите в раздел политик Computer configuration -> Windows Settings -> Security Settings -> System Services;
  2. Найдите службу Spooler и аналогично методике с шаблонами безопасности, рассмотренной ранее, предоставьте права пользователю. Сохраните изменения;

Настройки безопасности для все служб, для которых вы изменили разрешения по-умолчанию хранятся в собственной ветке реестра HKLM\System\CurrentControlSet\Services\ \Security в параметре Security типа REG_BINARY.

Это означает, что одним из способов установки аналогичных разрешений на других компьютерах может быть экспорт/импорт данного параметра реестра (в том числе через GPO).

Итак, мы разобрали несколько способов управления правами на службы Windows, позволяющих предоставить произвольному пользователю любые права на системные службы. Если пользователю требуется удаленный доступ к службе, без предоставления ему прав локального входа в систему, нужно разрешить пользователю удаленно опрашивать Service Control Manager.

Исправление ошибки «Отказано в доступе» при работе со службами в Windows 10

Часто перед пользователями возникает потребность изменить состояние какой-либо службы в Windows 10. Это может быть связано с решением неполадок или временным отключением работы приложения. Однако не всегда процесс происходит корректно. Иногда на экране появляется уведомление «Отказано в доступе», что означает невозможность внести указанные изменения. Далее мы хотим продемонстрировать все доступные варианты исправления этой ситуации.

Исправляем ошибку «Отказано в доступе» при работе со службами в Windows 10

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

Способ 1: Настройка прав доступа системного раздела

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

  1. Через «Проводник» перейдите в раздел «Этот компьютер», найдите там локальный системный диск, кликните по нему правой кнопкой мыши и выберите пункт «Свойства».

В открывшемся окне переместитесь на вкладку «Безопасность».

Щелкните по кнопке «Изменить», предварительно сняв выбор с какой-либо учетной записи.

В поле «Введите имена выбираемых объектов» напишите «Все» и нажмите на «Проверить имена».

Данная надпись должна стать подчеркнутой — это означает, что проверка прошла успешно. После этого просто нажмите на «ОК», чтобы сохранить изменения.

Произойдет автоматический переход на эту же вкладку «Безопасность». Теперь отметьте поле «Все» и установите разрешения для полного доступа. Перед выходом не забудьте применить изменения.

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

Способ 2: Редактирование группы Администраторы

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

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

В первую очередь введите команду net localgroup Администраторы /add networkservice и нажмите на Enter.

Вы будете уведомлены о ее выполнении.

Если вместо этого вы получили ошибку «Указанная локальная группа не существует», напишите ее название на английском языке — «Administrators» вместо «Администраторы». То же самое надо сделать и с командой из следующего шага.

Закройте консоль после появления строки «Команда выполнена успешно».

По завершении данной операции обязательно перезагрузите компьютер, поскольку установленная конфигурация активируется только при создании нового сеанса.

Способ 3: Проверка определенной службы

Этот метод подойдет тем пользователям, кто испытывает проблемы с появлением уведомления «Отказано в доступе» только при работе с конкретными службами. Дело может быть в том, что ограничения установлены непосредственно для самой службы, а это можно проверить только через редактор реестра.

    Для начала потребуется определить системное наименование службы. Запустите «Пуск», найдите через поиск приложение «Службы» и запустите его.

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

Ознакомьтесь с содержимым строки «Имя службы».

Запомните его и запустите утилиту «Выполнить» через комбинацию клавиш Win + R. Введите regedit и нажмите на Enter.

В редакторе реестра перейдите по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services .

В конечной папке отыщите каталог с названием нужной службы и щелкните по нему ПКМ.

Через контекстное меню перейдите в «Разрешения».

Убедитесь в том, что для групп Администраторы и Пользователи установлен полный разрешающий доступ. Если это не так, измените параметры и сохраните изменения.

Теперь вы можете прямо в редакторе реестра изменить состояние параметра или вернуться в приложение «Службы», чтобы проверить, помогли ли произведенные действия избавиться от проблемы.

Способ 4: Включение привилегий для LOCAL SERVER

В Windows 10 имеется учетная запись под названием LOCAL SERVER. Она является системной и отвечает за запуск определенных опций, в том числе и при взаимодействии со службами. Если ни один из предыдущих методов не принес должного результата, можно попытаться установить отдельные права для этой учетной записи, что делается так:

    Перейдите в свойства локального диска с операционной системой через контекстное меню, откройте вкладку «Безопасность» и нажмите на «Изменить».

Потребуется кликнуть на «Добавить», чтобы перейти к поиску профиля.

В появившемся окне переместитесь в раздел «Дополнительно».

Начните поиск учетных записей.

Из списка выберите необходимую сейчас.

После предоставьте ей полный доступ для управления системными компонентами и примените изменения.

Способ 5: Проверка системы на вирусы

Последний метод, рассматриваемый сегодня, предполагает проверку системы на вирусы. Использовать его следует в тех случаях, когда ни один из приведенных выше вариантов не помог справиться с проблемой — тогда есть повод задуматься о действии вредоносных файлов. Вполне возможно, что какой-то вирус попросту блокирует доступ к службам, а сама проблема будет решена только после его удаления и восстановления системных объектов. Более детально об этом читайте в отдельном материале на нашем сайте далее.

Теперь вы знаете как бороться с проблемой «Отказано в доступе» при попытках изменить состояние службы в Виндовс 10. Осталось только поочередно выполнять каждый способ, чтобы в максимально короткие сроки отыскать действенное решение.

Оцените статью
Adblock
detector