2013-05-10 89 views
0

我在我的QT应用程序中打开要编辑的根目录中有一个文件。 通常我们使用sudo文件路径打开具有所有权限的文件。 但我想在我的C++ QT应用程序中实现这一点。 任何形式的帮助是可观的。 谢谢。如何以ROOT模式打开文件?

+0

在根目录中与文件权限无关。但是,如果您需要特殊权限,则需要以具有正确权限的用户身份运行应用程序。也许看看[setuid](http://en.wikipedia.org/wiki/Setuid)。 – BoBTFish 2013-05-10 15:39:05

回答

0

请执行以下操作。

  • 获取用户ID,如果它不是0(根的uid是0)时,执行以下操作
  • 执行的argv [0]与gksu/kdesu。
  • 执行任务。
0

您的程序需要以root权限执行,或者更确切地说,它需要作为具有这些文件访问权限的用户执行。

如果不是,那么它是不可能来访问这些文件,因为操作系统不会让你的程序这样做。 C++代码没有任何修改可以解决这个问题。您需要使用sudo来执行您的程序。