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++ - 构造函数中的 const int ref 可以安全地绑定(bind)到文字吗?

java - 如何使用java在linux中运行基本命令?

PHP CLI 脚本没有超时

c++ - Windows 10 上的 CMake + MinGW + Clang

c++ - C++ 如何解释一个包含 '+' 的 cout?

c++ - boost 是否支持 c++11 的 std::tuple 的序列化?

c++ - Qt C++ 删除 QList<float**> 中的 float** 元素

linux - Centos 6.9 - MISCONF Redis 配置为保存 RDB 快照,但目前无法在磁盘上持久化

c++ - opencv Mat 16位来自QVector

c++ - 如何在不阻塞主窗体的情况下创建对话框?