Запуск служб Windows из приложений без прав администратора
Многие сценарии включают запуск или остановку служб Windows из отдельных приложений. Однако это может показаться ограниченным для пользователей без прав администратора из соображений безопасности. Как мы можем преодолеть это ограничение и предоставить пользователям детальный контроль над управлением услугами без ущерба для стабильности системы?
Решение: изменение разрешений на обслуживание
Ключ к этой проблеме лежит при изменении разрешений объекта службы. Предоставляя соответствующие права пользователям, не имеющим прав администратора, мы можем позволить им взаимодействовать со службами контролируемым образом.
Следующий фрагмент кода демонстрирует, как установить дескриптор безопасности для службы, чтобы включить необходимые разрешения:
wchar_t sddl[] = L"D:"
L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)"
L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)"
L"(A;;CCLCSWLOCRRC;;;AU)"
L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)"
L"(A;;RP;;;IU)"
;
PSECURITY_DESCRIPTOR sd;
if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL))
{
fail();
}
if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd))
{
fail();
}
Этот конкретный дескриптор безопасности предоставляет следующие разрешения:
Строку дескриптора безопасности (SDDL) можно настроить для добавления или удаления определенных разрешений в зависимости от желаемого уровня доступа для различных групп пользователей. Например, если вы хотите, чтобы пользователи, не являющиеся администраторами, могли остановить службу, можно использовать следующий SDDL:
L"(A;;RPWP;;;IU)"
Это добавит право WP (WRITE_PROPERTY), позволяющее интерактивным пользователям запускать и останавливать службу.
Благодаря тщательной настройке разрешений пользователи, не являющиеся администраторами, смогут выполнять важные задачи управления службами без ущерба для безопасности системы.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3