- 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一周年的时候,成为一个更多人喜欢的软件。



PolicyKit 是不错,
不过更感觉是 freedesktop 为了迁就 Fedora、SUSE 之类没 sudo 的发行版而做得妥协,
让这些没 sudo 的发行版也能普通用户使用了。
而像有 sudo 的 Ubuntu 里 PolicyKit 就没特别大必要
@山猫,
没有发行版都是有sudo的
打错字了,每个Linux发行版都是有sudo的,并不是Ubuntu的专利
我觉得不是这样,PolicyKit与sudo不一样,PolicyKit让普通用户也能做一些操作,到需要更进一步操作时,就可以获得权限。
但是sudo要实现这样就麻烦了。
像这些涉及系统管理的东西,
Ubuntu 以前的系统管理工具用 sudo 也是实现了,
需要“进一步”的时候,普通用户权限的程序将 gksudo 启动的窗口内嵌进来。
kde 里也类似做法。
普通用户使用vim打开/etc/fstab修改并保存,这个时候如果能提升权限,就赞了。
呵呵