прямой, простой API для запуска в качестве системы? - PullRequest
2 голосов
/ 25 декабря 2010

Предположим, что программа уже запущена с повышенными привилегиями, и ей нужно просмотреть содержимое папки System Volume Information, и по умолчанию это может сделать только NT Authority \ System.Обходным путем будет изменение ACL на папке, но я не хочу с этим связываться.Я уже нашел два способа сделать это: планировщик задач и psexec.Они слишком косвенные, мне даже не нужно описывать первый, а второй работает, устанавливая службу Windows, запуская ее, предлагая запустить все, что я хотел, затем удаляя службу.Теперь вопрос: есть ли прямая, простая функция WinAPI для запуска чего-либо как системы?Я не думаю, что такой API обойдёт ограничения безопасности, как администратор, я имею право планировать задачу или устанавливать службу, поэтому должен быть ярлык.

ОБНОВЛЕНИЕ: если естьAPI специально сообщит мне содержимое System Volume Information, тогда оно будет идеальным, не нужно запускаться как система.

1 Ответ

3 голосов
/ 25 декабря 2010

Вам не нужно менять ACL папки.Вместо этого вы можете изменить ACL вашего процесса.Это делается с помощью набора функций Impersonate (например, ImpersonateLoggedOnUser)

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