Повышение привилегий пользователя QProcess - PullRequest
3 голосов
/ 08 мая 2011

Можно ли запустить полностью независимый процесс с QProcess с повышенными привилегиями пользователя?

Например, если мое приложение c ++ / qt запускается как пользователь с ограниченными правами, может ли мое приложение c ++ / qt запустить другой независимый процесс с правами администратора?

Я имею в виду, что имя пользователя и пароль администратора доступны внутри приложения c ++ / qt, которое выполняет запуск стороннего приложения.

Ответы [ 3 ]

1 голос
/ 09 мая 2011

В Windows вы должны создать манифест для вашего приложения, который определяет уровень привилегий, в котором он должен работать. Тогда все, что вам нужно сделать, это запустить приложение. Вы получите приглашение UAC в более новой версии Windows. Но это обязательно и (ИМХО) правильно. Обойти это невозможно.

В linux вы должны при установке установить привязку к вашему приложению с правильными правами пользователя для того, что вы хотите сделать.

0 голосов
/ 09 мая 2011

Существуют платформо-зависимые способы сделать это, передавая данные по входным данным. В Linux это

system ("echo PASS | sudo -u root -S COMMAND ");

( source ) Это для php, но должно работать везде.

0 голосов
/ 09 мая 2011

Насколько я знаю, прямого пути нет, но вы можете начать с помощью команды runas, поскольку у вас есть пароль для учетной записи администратора.

Если вы не знаете команду runas, просто введите ее в командной оболочке, и она должна дать вам всю необходимую информацию.

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