DBus.Error.AccessDenied:拒绝。 DBUS over TCP

问题描述 投票:0回答:1

借助以下Stackoverflow答案herehere,我能够通过TCP / IP远程成功连接到系统DBUS。使用D-FEET我能够验证连接。 enter image description here

从上面的屏幕截图中可以看出,我能够访问远程总线,并且我能够成功调用org.freedesktop.hostname1对象及其接口。

但是在尝试访问com.aldogroup.Calculator时,我得到以下异常抛出qazxsw poi

访问其他服务(如org.bluez)时,也会发生此AccessDenied(我无法找到模式)

UPDATE

我的system.conf文件

enter image description here

DBUS busctl输出

<busconfig>                                                                     
        <listen>tcp:host=0.0.0.0,port=55557,family=ipv4</listen>                
        <listen>unix:tmpdir=/tmp</listen>                       

        <auth>ANONYMOUS</auth>                                  
        <allow_anonymous/>               
        <apparmor mode="disabled"/>
        <policy user="root">       
                <allow own="com.aldogroup.Calculator"/>
                <allow send_destination="com.aldogroup.Calculator"/>
                <allow send_interface="com.aldogroup.Calculator"/>  
                <allow send_type="method_call"/>                    
        </policy>                                                   
</busconfig>  

最好的祝福,

西蒙

python linux tcp dbus
1个回答
0
投票

我通过在/etc/dbus-1/system.d/中创建.conf文件来修复它

root@aldogroup-dart-6ul-1b6be6:~# busctl introspect com.aldogroup.Calculator /com/aldogroup/Calculator
NAME                                TYPE      SIGNATURE RESULT/VALUE FLAGS
com.aldogroup.Calculator            interface -         -            -
.Divide                             method    xx        x            -
.Multiply                           method    xx        x            -
org.freedesktop.DBus.Introspectable interface -         -            -
.Introspect                         method    -         s            -
org.freedesktop.DBus.Peer           interface -         -            -
.GetMachineId                       method    -         s            -
.Ping                               method    -         -            -
org.freedesktop.DBus.Properties     interface -         -            -
.Get                                method    ss        v            -
.GetAll                             method    s         a{sv}        -
.Set                                method    ssv       -            -
.PropertiesChanged                  signal    sa{sv}as  -            -

不确定为什么system.conf中指定的策略不能完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.