如何获得Qt的程序中root权限?(How to get root permission insid

2019-10-18 22:41发布

我需要使用Qt物件应用程序创建的根目录内的目录。

void Home::on_pushButton_clicked()
{
    system("mkdir /bin/mydir");
}

但是,如何使内部/ bin文件夹文件夹之前获得root权限

Answer 1:

本文介绍了必要的步骤来获得root的privilages您的应用程序,但它仅是在Fedora测试。 这里是链接



Answer 2:

它启动后程序无法获得root权限; 它仅允许(暂时或最后)降特权。

最好的办法通常是调用程序,如gksudoksudo,该系统将调用为根,在这一点上,他们暂时放弃了root权限,查询用户的同意,关闭他们的GUI系统连接,重新获得root权限和执行动作。



Answer 3:

如果你希望你的应用程序能够访问它需要root权限的一些资源,你必须运行该应用程序的根目录。 例如

sudo your_application_name

或者登录为根,然后运行该应用程序。



Answer 4:

你可以使用里面像下面编程pkexec命令来获得root的密码:

 void Home::on_pushButton_clicked()
 {
    system("pkexec mkdir /bin/myDir");
 }

或者你可以尝试使用QProcess类,但是你的目的的pkexec就够了。



文章来源: How to get root permission inside Qt program?