【问题标题】:How to open a file in write mode which is in ROOT?如何以写入模式打开处于ROOT的文件?
【发布时间】:2013-05-10 15:33:34
【问题描述】:

我在根目录中有一个文件,我想在我的 QT 应用程序中打开它进行编辑。 通常我们使用 sudo filepath 以所有权限打开文件。 但我想在我的 c++ QT 应用程序中实现这一点。 任何形式的帮助都是可观的。 谢谢。

【问题讨论】:

  • 在根目录下与文件权限无关。但是如果您需要特殊权限,则需要以具有正确权限的用户身份运行您的应用程序。也许看看setuid

标签: c++ qt ubuntu file-io root


【解决方案1】:

执行以下操作。

  • 获取userid,如果不为0(root的uid为0),执行如下操作
  • 使用 gksu/kdesu 执行 argv[0]。
  • 执行任务。

【讨论】:

    【解决方案2】:

    您的程序需要以 root 权限执行,或者更具体地说,它需要以对这些文件具有访问权限的用户身份执行。

    如果不是,则不可能访问这些文件,因为操作系统不允许您的程序这样做。 C++ 代码中没有可以解决此问题的更改。您需要使用sudo 执行您的程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 2020-06-23
      相关资源
      最近更新 更多