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