非root用户应该只有权写入其程序文件夹。每个人都可以执行该程序,并且只能由拥有该程序的非root用户修改新文件。 GTK +不允许setuid并且需要帮助程序。我想使用polkit在GTK +中实现这一点。
在C中找不到任何示例。我有pkactions和其他相关文件,但是,程序需要使用polkit注册它。文档没有给我一个如何从API实现这一点的清晰图片,或者我无法理解。
任何帮助都感激不尽。
谢谢
以下是我试图引用的一些链接,但没有太多成功。
https://www.freedesktop.org/software/polkit/docs/0.105/index.html https://greyok.github.io/simple-polkit-tutorial.html
根据https://www.gtk.org/setuid.html的合理建议,你不应该在你的gtk应用程序中使用setuid。它通过管道建议从Gtk到setuid后端的通信,输入由setuid程序验证为信任。这也有很好的解耦你的UI和后端的优势,你不需要在C中做你的setuid程序(虽然Gtk有很多绑定)或完全了解Gtk。