QProcess用户权限提升

3

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

例如,如果我的C++/Qt应用程序以有限用户身份运行,那么我的C++/Qt应用程序能否以管理员权限启动另一个独立进程?

我指的是在启动第三方应用程序的C++/Qt应用程序中可用的管理员用户名和密码。

3个回答

1
在Windows中,您应该为应用程序创建一个清单,指定它需要运行的特权级别。然后,您只需启动应用程序即可。在较新的Windows版本上,您将收到UAC提示。但这是必要的,也是正确的(在我看来)。没有绕过这个问题的方法。
在Linux下,您应该在安装时为应用程序设置一个带有正确用户权限的粘性位。

谢谢RedX。这是有用的信息,但它没有回答我的问题。我的应用程序不需要管理员权限。如果需要,我会按照你描述的方式请求此类权限。我的应用程序启动一个需要管理员权限的第三方应用程序,在这个问题中我试图避免手动输入密码。 - user440297

0
据我所知,没有直接的方法,但您可以通过运行“runas”命令开始,因为您拥有管理员帐户的密码。
如果您不知道“runas”命令,请在命令行中键入它,它会给您提供所有需要的信息。

runas 命令不太正常,因为如果我运行 runas 并提供所有参数...据我所知,我无法将密码作为参数提供。这意味着我会得到一个提示来输入管理员密码。我想通过我的应用程序来提供该密码。 - user440297

0

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

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

(source) 这是针对php的,但应该在任何地方都可以使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接