QProcess用户权限提升

发布于 2024-11-05 11:07:35 字数 170 浏览 0 评论 0原文

是否可以使用具有提升的用户权限的 QProcess 启动完全独立的进程?

例如,如果我的 c++/qt 应用程序作为受限用户运行,我的 c++/qt 应用程序是否可以启动另一个具有管理员权限的独立进程?

我的意思是管理员用户名和密码在正在启动第 3 方应用程序的 c++/qt 应用程序中可用。

Is it possible to start a fully independant process with QProcess with elevated user privilleges?

For example if my c++/qt application is run as a limited user, can my c++/qt application start another independant process with admin rights?

I am implying that the admin username and password is available inside the c++/qt application that is doing the launching of the 3rd party application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黎夕旧梦 2024-11-12 11:07:35

在 Windows 中,您应该为您的应用程序创建一个清单,指定其运行所需的权限级别。然后您所要做的就是启动该应用程序。在较新的 Windows 版本上,您将收到 UAC 提示。但这是必需的并且(恕我直言)是正确的。没有办法解决这个问题。

在 Linux 下,您应该在安装时为您的应用程序设置一个粘性位,并为您想要执行的操作设置正确的用户权限。

In windows you should create a manifest for your application that specifies the privilege level it needs to run in. Then all you have to do is start the application. You will get a UAC prompt on newer windows version. But that is required and (IMHO) correct. There is no way of going around this.

Under linux you should on installation set a sticky bit to your application with the correct user-rights for what you want to do.

花心好男孩 2024-11-12 11:07:35

据我所知,没有直接的方法,但您可以通过 runas 命令开始,因为您确实拥有管理员帐户的密码。

如果您不知道 runas 命令,只需在命令 shell 中键入它,它就会为您提供所需的所有信息。

There is no direct way as far as I know but you could start with via the runas command since you do have the password for the administrator account.

In case you don't know the runas command, simply type it in a command shell and it should give you all the information you need.

错々过的事 2024-11-12 11:07:35

有一些特定于平台的方法可以通过管道输入来实现此目的。在Linux中,它是

system("echo PASS | sudo -u root -S
命令”);

() 这是针对 php 的,但是应该在任何地方工作。

There are platform-specific ways to do this, by piping in the input. In Linux, it's

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

(source) That's for php but should work amywhere.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文