如何在 root 用户拥有的文件夹中以编程方式创建文件
How to create a file programmatically in a folder owned by root user
我正在用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用户身份创建文件的凭据吗?还有什么其他方法可以解决这种情况?
我刚刚找到了一种方法来解决请求根权限并做某事的一般问题。Dio3调用system()并将密码传递给cmd级别。我不知道有什么方法可以"通过系统读取文件并使 QT-API 满意,但您可以通过这种方式更改文件权限......但是每个人都对严肃的文件这样做应该有安全噩梦:)
相关文章:
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 在没有管理员权限的情况下,在 c++ 中以编程方式将程序添加到启动
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 如何以编程方式使窗口全屏显示?
- 终端如何在 shell 提示符下以编程方式阻止退格,以便您无法在其上退格,例如 $ 表示 bash 或 C:\blah\>
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- 如何以编程方式显示功能区按钮的下拉菜单?
- 是否可以以编程方式构造 std::initializer_list?
- 在 Visual C++ 中以编程方式更改按钮的背景图像
- 附加调试器并以编程方式获取变量地址 Visual Studio
- 以编程方式重新连接断开的 VHD 链
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 以编程方式防止重命名或删除文件,但仍使其可写
- 以编程方式连接子图
- 如何以编程方式区分在内存的堆和堆栈部分创建的对象
- 如何以编程方式从PKCS7中提取CA、多个CA和公共证书/密钥
- 如何以编程方式将路由添加到网络接口
- 以编程方式在 C++ 中创建函数