c++ - 如何在Qt程序中获得root权限?

标签 c++ linux qt shell root

我需要使用 qt 小部件应用程序在根目录中创建目录。

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

但是,如何在/bin 文件夹内创建文件夹之前获得 root 权限

最佳答案

您可以在编程中使用 pkexec 命令获取 root 密码,如下所示:

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

或者你可以尝试使用QProcess类,但是对于你的目的来说pkexec就足够了。但是在这种模式下你必须手动输入密码,但是如果你想在不输入密码的情况下获得root权限手动,您可以在代码中输入密码,那么您可以考虑以下代码:

QProcess process;
process.start("echo your_password | sudo -S mkdir /bin/myDir");

关于c++ - 如何在Qt程序中获得root权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840163/

相关文章:

C++ 错误 : class template has already been defined

linux - 安装 ssmtp 用于发送电子邮件后的虚拟 cron 作业

linux - awk 以制表符作为分隔符

linux - 捕获名称的一部分,以便我可以在 linux 中循环

c++ - 打开成功却不好?

c++ linux从方法访问对象

C# 和 C++,从 C# 调用 C++ dll 时出现运行时错误

python - 如何在 PyQt 中将 QPointf 转换为 QPoint

c++ - 双击 QLabel

python - 完全透明的蒙版 -> 完全不透明的小部件