使用 PolicyKit 进行身份认证(中)

PolicyKit 的运作流程 在上次的图中,我们可以看出 PolicyKit 运作过程中的几个要素:请求发出者(gnome-mount),请求目标(磁盘),请求的动作(挂载)。下面我们来看一下 PolicyKit 的运作流程。 图一:用户点击了磁盘图标,系统通过 DBus 发送请求给 HAL。 图二:HAL收到并验证请求(请求被包装在一个叫做 PolKitCaller 的对象中,包含 uid 、 pid 、会话标识符、会话是否为活动状态、是否远程、远程地址和其他可选信息),并据此构建了 PolKitCaller 对象,之后,HAL 会调用 libpolkit 中的函数 polkit_context_can_caller_do_action () ,并把以上两个结构体作为参数。 根据这个函数传递来的参数,系统会到 PolicyKit 的配置文件(关于配置文件,会在下次说明)中进行验证,根据配置文件的返回值和验证数据库中的内容决定是否允许请求的操作。 可能的返回值有三种:通过(POLKIT_RESULT_YES)、拒绝(POLKIT_RESULT_NO)、需要验证(POLKIT_RESULT_AUTH 系列)。返回值被包含在一个叫做 PolKitResult 的结构体中。 图三:当返回值不是 POLKIT_RESULT_YES 时,HAL 把这个返回值外加之前所请求的操作一起返回给请求者。 图四:如果返回值是 POLKIT_RESULT_AUTH 系列(例如...

无忧网络文章管理系统 真的很好用~

上次说到做网站,目前网站的情况是这样的,学院原来放网站的计算机被病毒挂了,汗……于是重新做一个。 手头上有原来网站的代码,无病毒版,我一看,觉得那网站被病毒挂掉真是天命使然……是我也忍不住想要痛扁做网页的人一顿…… 于是赶快研究一下无忧的用法,一用之下真是太爽了!(我承认我现在还没有做动态整站的能力……) 清爽的管理页面: 简洁的网站界面,采用 Div + Css 架构,还有可爱的古乐兽,呃,是图像预览功能。 轻松把一段 HTML 保存为标签(类似 widget 的东西)。 静态生成页面,这样就不依赖 SQL Server 了,也不用每次跟人解释什么是数据库了。 文章发布页面,功能很全,所见即所得,以后管理方便。 总之,用这个系统快速搭建网站实在是方便极了,只要改改 CSS,把以前做过的标签一粘贴,一个新的网站就诞生了!实在是居家行凶、杀人放火、批量生成网站、骗取项目经费必备的利器啊! (呵呵,实在是没有时间做网站了,否则也不会出此下策,有时间好好学学 PHP。)

使用 PolicyKit 进行身份认证(上)

(为了说明方便,文中很多地方使用了 PolicyKit 官方文档中的图片。这篇文章并不是官方文档的翻译,想要获得更加全面的说明,请参见 这里 。) 什么是 PolicyKit PolicyKit 是什么呢?之前发帖子的时候并没有弄清,以为是一个可以用来获得 Root 权限的东西,经过 TualatriX 兄的指点,才发现根本不是那么回事。 PolicyKit 是一种应用程序本身或者应用程序之间验证身份的机制,验证通过,你就可以执行所请求的操作,否则没门。这样说来对于没有什么安全隐患的功能是用不到它的,比如我的 CugbFreer,需要的只是调用 libpcap 进行流量统计,实在看不出什么危险,验证反而麻烦。不过既然之前已经说了要写一篇,那还是简单说说吧。 为什么要使用 PolicyKit 这个看起来像是对大多数人没用的机制,但是事实并非这样,只要仔细想一下,就可以挖掘出它的用途。 比如说,nautilus 里挂载磁盘,不知道你是否留意过,第一次使用的时候,点击一个未挂载的磁盘,就会弹出 PolicyKit 验证的界面。 我们知道,磁盘的自动挂载是靠 HAL 控制的,在 HAL 上面还有 gnome-mount,当你点击 nautilus 里的未挂载磁盘时,就会调用 gnome-mount。可是 gnome-mount 只是一个用户程序,而非特权(privileged)程序,如何能够“请”得动 HAL 呢? 与其主动去请,还不如 HAL...

本周(3.9 - 3.15)计划

1.研究无忧文章管理系统,赶快把网站做出个雏形。 2.学习 DBus ,现在 root 权限的发送端还是没法和接收端通信,需要阅读文档解决了…… 3.学习 SOPC ,还参加比赛呢,再不学人家就把我踢出来了…… 4.复习。其他时间都用来自习,考研的准备不能再拖了。 晕啊,我学的东西怎么这么杂啊……

推荐一款Flash游戏!

勇士与魔王的故事熟悉吧?想要打败魔王可不是那么容易的哦!英雄都是需要时势来造就的,那么,你有没有信心造就一个英雄? 这是一个简单的小游戏,不过麻雀虽小,五脏俱全,城堡、宝箱、魔王、勇士、智者、怪兽一个不缺,勇士是否能够打败魔王,全看你对这世界的安排! 快来试试吧! 攻略在下面,选中观看,偷看会失去乐趣哦~ 房子→树→城堡→水→塔→石头→宝箱→地下室

将Blogger的Sitemap提交给Google网站管理员工具的方法(修正版)

之前发了一个帖子《将Blogger的Sitemap提交给Google网站管理员工具的方法》,结果等了几天,Google网站管理员工具里面只能找到到 26 个网址……开始还以为是Google的问题,到网上查了查,才发现是我自己想当然了…… 那两个 RSS 最多只能找到26个网址,如图(郁闷,就连这26个网址 Google 都不索引我): 搜索了一下,才发现在 default 后面加上 ?redirect=false&start-index=1&max-results=500 就可以了!

今天试了试嵌入式……

学校开的课,给我们发了块板子,9200~ 连网线,开机,telnet!轻松的连上了,Linux嘛,常用命令试了一遍,就没什么干的了…… 板子上还开了FTP,Root帐号连上去什么都能干,真可怕。 本来什么都没干,就是一些常用命令,du、df什么的……上传个文件然后删掉…… 结果晚上回来发现用不了了,郁闷…… telnet显示no route to host,怎么也连不上……这两天再研究研究…… 感觉嵌入式没有什么神秘感了……

Arch Linux 三月份的时事传报(Newsletter)

三月的Newsletter访问了Pierre Schmitz,KDE的主管开发者。在社区热点(Community Highlights)里,阐述了诸位 Arch Linux 用户所做的贡献,尤其是杰出的贡献者 nsf 。同时,给出了三月份的屏幕截图冠军。 详情见: [http://www.archlinux.org/static/newsletters/newsletter–2009-mar.html](http://www.archlinux.org/static/newsletters/newsletter–2009-mar.html) 最后附上这两张超帅的截图:

正在学习 PolicyKit !

正在学习 PolicyKit 。 PolicyKit 允许程序中的一部分使用 Root 权限,并且可以记住此权限,这对于 Cugb Freer 中的流量统计功能至关重要,毕竟,在 Linux 下使用 libpcap 是需要 Root 权限的,而 Cugb Freer 显然不能以 Root 权限运行。 想法是在其中添加一页,实现流量统计,此功能使用 PolicyKit 实现 Root 权限的 libpcap,同时让它记住权限,这样以后就不需要密码了。 国内关于 PolicyKit 的文章只有 TualatriX 那两篇残缺不全的……看 Ubuntu Tweak 源码的话,那个又是 Python 写的……这次要是学明白了,一定要写篇解析出来,呵呵~看手册去~

Quartus 8.1在Linux上的安装破解方法

学习SOPC,自然会用到Quartus II和NIOS,这两个软件似乎是java编写的,所以都有linux版。 首先,到 官方网站 下载 Quartus II Subscription Edition Software v8.1(Includes MegaCore IP Library) 和 Nios II Embedded Design Suite 这两个软件,下载时需要注册,也可以选择 Get One-Time Access 取得一次下载权限。 然后,解压两个tar包,分别以root权限运行install脚本,注意运行此脚本需要 csh 。 最后,运行 安装目录/quartus/bin/quartus 即可。 我在 Arch Linux 64bit 下运行会出现段错误,在 Ubuntu 8.10 32bit 下运行正常,可能是64位问题,也可能是...