haulm 发表于 2010-9-30 08:01:54

使用 dbus 提权 polkit 验证的方法解决普通用户 ADSL 拨号问题

安装内核版本 2.6.35.4,运行 mxd2,点击拨号 pppoe-gui 组件 pppoe-wrapper 提权拨号仍旧是失败的
经过测试普通通过 setuid 是无法提权的,pppoe-wrapper 提权在2.6.30.10 以后的内核下也会失败
更新 mgc 的 dbus dbus-glibc glib2 到最新版本后,polkitexamd 可以正常提权,在没有更新之前 polkitexamd 只能提权读写文件。。。,现在可以简单地利用它直接运行 pppoe-start。
rpm -qa|grep kernel-smp-2.6
kernel-smp-2.6.30.10-6mgc25.i686
kernel-smp-2.6.35.4-1mgc25.i686
$ /opt/mxd/mxd
...............................TIMED OUT
/usr/sbin/pppoe-start: line 193:4481 Terminated            $CONNECT "$@" > /dev/null 2>&1
                  
^C
$ /doc/bakcup/polkitexam/dbustest-glib
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg name="data" direction="out" type="s"/>
    </method>
</interface>
<interface name="polkit.example.interface">
    <method name="WriteFile">   
       <arg direction="in"type="s" name="filepath" />
       <arg direction="in"type="s" name="contents" />
       <arg direction="out" type="s" />
   </method>
</interface>
</node>

auth:yes
页: [1]
查看完整版本: 使用 dbus 提权 polkit 验证的方法解决普通用户 ADSL 拨号问题