如何在root用户拥有的文件夹中以编程方式创建文件

时间:2012-04-29 15:59:58

标签: c++ linux qt file-permissions qfile

我正在用Qt开发一个应用程序。我需要在/ usr / share / applications中创建一个文件。以下是我的代码

  QDir::setCurrent("/usr/share/applications");
  QFile launcherFile;
  launcherFile.setFileName("aptana.desktop");
  int status = launcherFile.open(QIODevice::WriteOnly | QIODevice::Text);
  QTextStream stream(&launcherFile);
  stream<<"Create file";
  launcherFile.close();

我在调试时没有收到任何错误,但文件也没有创建。我认为这是一个特权问题,因为我登录的用户没有访问此文件夹的权限。我已经看到其他应用程序,如Synaptic Manager在继续执行应用程序之前提示输入管理密码。同样在那里我可以弹出对话框询问密码并获取凭据以root用户身份创建文件?还有哪些方法可以解决这种情况?

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决root权限和做某事的一般问题的方法。 Dio3 calls system() and passes the password to the cmd-level.。 我不知道如何“通过系统读取文件并让QT-API满意,但你可以通过这种方式更改文件权限......但是每个人都应该对这些严重的文件应该有安全噩梦:” / p>