这个是我在国产操作系统(Kylin和UOS)下软件开发过程中遇到的一个问题。
Kylin系统下运行软件可以用pkexec进行提权,保证软件运行过程中可以获取root运行权限;而UOS下,若不打开开发者模式,则不存在root用户,也就不能直接获取root权限。
通过和UOS的人员沟通得知可以通过polkit框架来进行提权,经过多番查询,在git找到了https://github.com/xiayesuifeng/polkit-qt-example ,对代码进行了部分修改,得到了一个可在普通用户或非开发者模式下,可执行dmidecode、mount /dev/、dmesg等需要root权限命令的小程序。

uos普通用户运行dmidecode
代码已同步gitee https://gitee.com/absurddream/polkit-uos
github https://github.com/AbsurdDream/polkit-uos
此外,如果有时间可参考https://github.com/linuxdeepin/deepin-devicemanager UOS的设备管理器,同样采用的polkit实现提权。
同样,可将server打包到并签名,实现非开发者模式下的提权。