#windows-services #child-process #local-system-account
#windows-services #дочерний процесс #local-system-account
Вопрос:
Я работаю над приложением службы Windows, где в настоящее время оно работает с правами администратора. Для этого мне нужно установить информацию администратора в настройках журнала службы. Вышеупомянутая служба Windows создает дочерние процессы с правами локального пользователя. Это работает нормально.
Теперь я хочу изменить приложение службы Windows для запуска с правами «Локальной системы» вместо администратора. Но если я изменю параметр входа в систему на «Локальная система», дочерние процессы не запускаются и генерируют исключение «доступ запрещен».
Я думаю, что учетная запись «локальная система» имеет все разрешения на любые действия. Это даже сильнее, чем учетная запись администратора. Тогда почему он не может запускать дочерние процессы?
Пожалуйста, направьте меня, если мое восприятие неверно
Ответ №1:
Локальная система, безусловно, НЕ имеет «всех разрешений на что-либо делать». Это означало бы, что если кому-то удалось попасть В этот процесс.. они действительно могут взбеситься в системе.
Редактор групповой политики точно покажет вам, кто что может делать, поэтому вам не нужно угадывать свой путь.
- Откройте GPEDIT.MSC
- Перейдите к
Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment
- В правой части найдите
Obtain an impersonation token for another user in the same session.
Я не уверен на 100%, что это именно тот параметр, который вам нужен (я не пробовал), но я ДУМАЮ, что это так. Даже если это не так, просмотрите этот раздел групповой политики, чтобы узнать, кто что может делать. Очевидно, что в нужном вам параметре не будет «Локальной системы» в списке 😉
Надеюсь, это поможет. 🙂 УДАЧИ!
Комментарии:
1. Большое вам спасибо за ваш ответ. Я проверю.