Polkit 介绍 Polkit 简介 Polkit 工作流程 Polkit 规则 Polkit 的应用 Polkit 优点 & 缺点演讲人: 于建彬下一页一、 Polkit 简介 Polkit 用于实现权限管理, 通过给非特权进程授权,允许具有特权的进程(或者库文件 lib) 给非特权进程提供服务。下一页上一页下一页上一页 Polkit 包含了两个库文件( libpolkit-gobject- 1, libpolkit-agent-1 ), 和一个守护进程( polkitd ) libpolkit-gobject-1 为特权进程提供 api 用来检测权限验证 libpolkit-agent-1 为 Authentication Agent 提供 api 用来让用户输入口令认证下一页上一页 Polkit 提供了 6种级别的授权: <1> no <2> auth_self // oneshot <3> auth_admin <4> auth_self_keep // 保留 5分钟<5> auth_admin_keep <6> yes 下一页上一页[******@localhost /]$ pkexec reboot ==== AUTHENTICATING . === Authentication is needed to run `/usr/sbin/reboot' as the super user Authenticating as: root Password: ==== PLETE === [******@localhost /]$ pkexec reboot ==== AUTHENTICATING . === Authentication is needed to run `/usr/sbin/reboot' as the super user Authenticating as: root Password: polkit-agent-helper-1: pam_authenticate failed: Authentication failure ==== AUTHENTICATION FAILED === Error mand as another user: Not authorized This incident has been reported. 下一页上一页二、 Polkit 工作流程下一页上一页返回流程图下一页上一页应用请求流程图下一页上一页/usr/share/polkit-1/actions /etc/polkit-1/localauthority/ /var/lib/polkit-1/localauthority/ subject mechanism libpolkit-gobject-1 polkitd Authentication Agent System bus 5 libpolkit-agent-1 7 86 94 10 3 11 212 113 1为应用请求开始,以次为请求顺序 agent app Polkit 授权是通过服务进程 polkitd 来完成,当非特权进程访问特权进程服务时, 特权进程会通过 system message bus 向 polkitd 请求权限认证, polkitd 根据特权进程提供的信息和权限配置文件进行认证, 认证完成后将认证结果返回给特权进程, 特权进程根据认证结果决定是否给非特权进程提供服务。 pkexec 就是以这种授权方式实现的下一页上一页
polkit 介绍1 来自淘豆网www.taodocs.com转载请标明出处.