用户使用NetworkManager.Settings.Connection需要哪些设置或权限

时间:2017-11-08 15:45:19

标签: linux qt dbus

我试图通过路径/ org / freedesktop / NetworkManager / Settings / 2(例如设置数量)调用D-Bus对象org.freedesktop.NetworkManager.Settings.Connection的GetSettings方法Qt应用程序。因此,当我尝试以

用户身份运行此应用程序时
$ id
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),27(sudo),30(dip),
46(plugdev),113(lpadmin),129(sambashare)

它运行正常没有错误,但是当我以lightdm greeter(lightdm用户启动进程)启动应用程序时,它记录了错误:

org.freedesktop.NetworkManager.Settings.PermissionDenied uid 108 has no permission
to perform this operation

我尝试使用下面的org.freedesktop.NetworkManager.conf来制作它:

 <!DOCTYPE busconfig PUBLIC
  "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
 <busconfig>
         <policy user="root">
                 <allow own="org.freedesktop.NetworkManager"/>
                 <allow send_destination="org.freedesktop.NetworkManager"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.PPP"/>

                 <allow send_interface="org.freedesktop.NetworkManager.SecretAgent"/>
                 <!-- These are there because some broken policies do
                 <deny send_interface="..." /> (see dbus-daemon(8) for details).
                 This seems to override that for the known VPN plugins.
                   -->
                 <allow send_destination="org.freedesktop.NetworkManager.openconnect"/>
                 <allow send_destination="org.freedesktop.NetworkManager.openswan"/>
                 <allow send_destination="org.freedesktop.NetworkManager.openvpn"/>
                 <allow send_destination="org.freedesktop.NetworkManager.pptp"/>
                 <allow send_destination="org.freedesktop.NetworkManager.vpnc"/>
                 <allow send_destination="org.freedesktop.NetworkManager.ssh"/>
                 <allow send_destination="org.freedesktop.NetworkManager.iodine"/>
                 <allow send_destination="org.freedesktop.NetworkManager.l2tp"/>
                 <allow send_destination="org.freedesktop.NetworkManager.libreswan"/>
                 <allow send_destination="org.freedesktop.NetworkManager.fortisslvpn"/>
                 <allow send_destination="org.freedesktop.NetworkManager.strongswan"/>
                 <allow send_interface="org.freedesktop.NetworkManager.VPN.Plugin"/>

                 <!-- Allow the custom name for the dnsmasq instance spawned by NM
                      from the dns dnsmasq plugin to own it's dbus name, and for
                      messages to be sent to it.
                  -->
                 <allow own="org.freedesktop.NetworkManager.dnsmasq"/>
                 <allow send_destination="org.freedesktop.NetworkManager.dnsmasq"/>
         </policy>
         <policy user="whoopsie">
                 <allow send_destination="org.freedesktop.NetworkManager"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.DBus.Introspectable"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.DBus.Properties"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Connection.Active"/>

                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device"/>
         </policy>
         <policy context="default">
                 <deny own="org.freedesktop.NetworkManager"/>

                 <deny send_destination="org.freedesktop.NetworkManager"/>

            <!-- Basic D-Bus API stuff -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.DBus.Introspectable"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.DBus.Properties"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.DBus.ObjectManager"/>

            <!-- Devices (read-only properties, no methods) -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Adsl"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Bond"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Bridge"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Bluetooth"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Wired"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Generic"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Gre"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Infiniband"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Macvlan"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Modem"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.OlpcMesh"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Team"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Tun"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Veth"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Vlan"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.WiMax.Nsp"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.AccessPoint"/>

            <!-- Devices (read-only, no security required) -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.WiMax"/>

            <!-- Devices (read/write, secured with PolicyKit) -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device.Wireless"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Device"/>

            <!-- Core stuff (read-only properties, no methods) -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Connection.Active"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.DHCP4Config"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.DHCP6Config"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.IP4Config"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.IP6Config"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.VPN.Connection"/>

            <!-- Core stuff (read/write, secured with PolicyKit) -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Settings"/>
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.Settings.Connection"/>

            <!-- Agents; secured with PolicyKit.  Any process can talk to
                 the AgentManager API, but only NetworkManager can talk
                 to the agents themselves. -->
                 <allow send_destination="org.freedesktop.NetworkManager"
                        send_interface="org.freedesktop.NetworkManager.AgentManager"/>

            <!-- Root-only functions -->
                 <deny send_destination="org.freedesktop.NetworkManager"
                       send_interface="org.freedesktop.NetworkManager"
                       send_member="SetLogging"/>
                 <deny send_destination="org.freedesktop.NetworkManager"
                       send_interface="org.freedesktop.NetworkManager"
                       send_member="Sleep"/>
                 <deny send_destination="org.freedesktop.NetworkManager"
                       send_interface="org.freedesktop.NetworkManager.Settings"
                       send_member="LoadConnections"/>
                 <deny send_destination="org.freedesktop.NetworkManager"
                       send_interface="org.freedesktop.NetworkManager.Settings"
                       send_member="ReloadConnections"/>

                 <deny own="org.freedesktop.NetworkManager.dnsmasq"/>
                 <deny send_destination="org.freedesktop.NetworkManager.dnsmasq"/>
         </policy>

    <limit name="max_replies_per_connection">1024</limit>
    <limit name="max_match_rules_per_connection">2048</limit>
 </busconfig>

你能帮我把它弄好吗?

感谢。

0 个答案:

没有答案