Может ли приложение, работающее под менее привилегированной учетной записью, запустить процесс, выполняющий другое приложение под учетной записью администратора?

Я вошел в систему как администратор, когда установил приложение с именем pdflatex.exe на свой сервер. Это приложение работает как конвертер из входного файла LaTeX в файл Pdf.

Я размещаю приложение Asp.net MVC 3, работающее под идентификатором пула приложений с Load User Profile = True.

Код Asp.net MVC 3 содержит код, который выполняет pdflatex.exe с использованием экземпляра System.Diagnostic.Process следующим образом:

        Process p = new Process();

        p.EnableRaisingEvents = true;
        p.Exited += new EventHandler(p_Exited);

        p.StartInfo.Arguments = "-interaction=nonstopmode " + inputpath;
        p.StartInfo.WorkingDirectory = @"c:\mydomain.com\working";

        p.StartInfo.UseShellExecute = false;
        p.StartInfo.FileName = "pdflatex.exe";

        p.Start();
        p.WaitForExit();

Из сценария выше,

  • веб-приложение работает под учетной записью с ограниченным доступом, но выполняется
  • внешнее приложение под учетной записью по умолчанию, которую я не знаю.

Может ли приложение, работающее под менее привилегированной учетной записью, запустить процесс, выполняющий другое приложение под учетной записью администратора?


person xport    schedule 09.03.2011    source источник


Ответы (2)


Нет, приложение с более низкими привилегиями не может запустить приложение с повышенными правами без надлежащего запроса на повышение прав UAC (которое запрашивает имя пользователя и пароль администратора). Если бы вы могли поднять порожденное приложение из приложения с более низким уровнем доступа, это было бы серьезной брешью в безопасности.

person Ken White    schedule 09.03.2011

Зачем вам нужен доступ администратора для запуска pdflatex? Это стандартная пользовательская программа, и она не должна требовать каких-либо особых привилегий, кроме как для запуска из каталога, в который она может записывать.

person Jeremiah Willcock    schedule 09.03.2011
comment
Я установил pdflatex.exe на сервер без каких-либо изменений. Я не знаю учетную запись пользователя, под которой работает pdflatex.exe. - person xport; 09.03.2011
comment
Он должен работать под любой учетной записью; он предназначен для использования обычными учетными записями пользователей. - person Jeremiah Willcock; 09.03.2011