国产操作系统-统信UOS非开发者模式下的权限获取
AbsurdDream
编辑于 2023年01月04日 18:53

    这个是我在国产操作系统(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打包到并签名,实现非开发者模式下的提权。