• 24
  • Jun

好兴奋啊!

上次在“dbus太强大了!”中试验PolicyKit中失败了,但是对dbus有了初步的了解。不过上次认识有限,实际上不通过PolicyKit验证,光使用dbus确实能实现直接更改系统,但是麻烦而且不安全。

一个半月后,也就是现在,看了很多源码、测试了很多Case、看了很少tutorial(确实少,网上有关dbus的资料很少),终于成功地用Python实现了PolicyKit了!

这意味着,在Ubuntu Tweak一周年的时候,我就要应用PolicyKit来完成真正的Tweak了!!!

全新的阶段要开始喽!

-----

简单地说,应用了PolicyKit以后,Ubuntu Tweak就会变成一款“系统配置软件”(此前只是桌面而已)。

PolicyKit是一组应用程序级别的API,用来定义和处理让无特权的进程(即非root用户启动的进程)来处理一些特权的任务。凭借着即时而且完善的验证机制,应用程序将有很大的灵活性。一般情况下用户可以使用软件来做一些普通操作,当需要进行特权操作时,可以通过PolicyKit获取操作权限。

以前用Ubuntu系统下应用了PolicyKit的组件时,就打算在Ubuntu Tweak上装备上这个,但是当时能力有限无法实现。

这几天来每天都研究PolicyKit,终于把它的大致机制搞明白了。

PolicyKit主要是通过dbus来进行的,是在dbus服务的基础上增强了policykit的配置文件来实现的。因此理论上只要是dbus服务就可以使用PolicyKit。从而让用户具备更多的操作权。

具体的原理和实现办法明天再整理了,现在贴图。

快要放假了,暑假计划好好地编写Ubuntu Tweak 0.4。争取到Ubuntu Tweak一周年的时候,成为一个更多人喜欢的软件。

» You can leave a comment.

7 Comments

  1. 山猫

    PolicyKit 是不错,
    不过更感觉是 freedesktop 为了迁就 Fedora、SUSE 之类没 sudo 的发行版而做得妥协,
    让这些没 sudo 的发行版也能普通用户使用了。

    而像有 sudo 的 Ubuntu 里 PolicyKit 就没特别大必要

  2. 我觉得不是这样,PolicyKit与sudo不一样,PolicyKit让普通用户也能做一些操作,到需要更进一步操作时,就可以获得权限。
    但是sudo要实现这样就麻烦了。

  3. 山猫

    像这些涉及系统管理的东西,
    Ubuntu 以前的系统管理工具用 sudo 也是实现了,
    需要“进一步”的时候,普通用户权限的程序将 gksudo 启动的窗口内嵌进来。

    kde 里也类似做法。

  4. test

    普通用户使用vim打开/etc/fstab修改并保存,这个时候如果能提升权限,就赞了。

Leave a Comment