我正在编写一个程序,它在第一次运行以执行配置更改(在 中创建一个文件/etc
)时暂时需要 root。
如何通过在图形对话框中询问用户密码来临时获得 root 权限?
该程序使用 Qt,如果它仅适用于 Ubuntu,我会相当高兴,但我不想假设它们已经gksudo
安装或安装了任何东西。我也不能用SUID
。
我唯一能想到的就是提供我自己的密码对话框,并通过(或其不太安全的表亲之一)将其提供给命令行sudo
二进制文件。system()
不过,这似乎很老套——命令行前端通常是一个非常糟糕的主意,应该不惜一切代价避免使用。那么有没有更好的方法呢?也许有一个libsudo,或者一些使用IPC的方法?
注意:这不是重复的。或者至少,那里的答案并没有把它当作我要问的问题。