linux总线错误无法删除文件,linux – 系统D-Bus不允许使用conf文件来破坏所有权...

我正在尝试创建一个在系统总线上运行的守护程序服务,其中从此服务发送和接收的权限应该完全对任何人开放. (安全性不是此服务的关注点).当我尝试使用QtDbus(使用PyQt)注册服务时,我收到此错误:由于配置文件中的安全策略,连接“:1.0”不允许拥有服务“org.dbus.arduino”.这个其他堆栈溢出具有相同的错误,但由于某种原因在这种情况下根本没有帮助. dbus_bus_request_name (): Connections are not allowed to own the service.

通常你应该保留system.conf文件,并在system.d目录中添加你的权限“打出”配置文件.我已经做到了这一点,但它似乎没有改变任何东西,无论我如何打开我的权限.事实上,我几乎是积极的,它没有改变任何东西!这是我的conf文件,因为它就在这一刻.

/p>

"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"

"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

即使我这样做或类似的东西,它仍然不起作用.

我甚至将文件的名称以z开头,以便它可能是最后一个读入的文件.这是system.conf文件,请注意我已经注释掉了“允许自己”部分.这是使其工作的唯一方法(以及最糟糕的“修复”).

/p>

"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

system

messagebus

/lib/dbus-1/dbus-daemon-launch-helper

/var/run/dbus/pid

EXTERNAL

unix:path=/var/run/dbus/system_bus_socket

send_interface="org.freedesktop.DBus"

send_member="UpdateActivationEnvironment"/>

system.d

system-local.conf

contexts/dbus_contexts

我绝对必须使用系统总线,因为我将它部署在没有GUI的Raspberry Pi上(没有x11,没有会话总线).我只能通过完全允许系统总线上的所有内容来获得Raspberry Pi的工作(安全性并不是这个设备上的大部分交易).显然,我不允许在我的开发机器上发生这种情况.作为背景我使用的是Opensuse 12.2,Raspberry Pi是Debian Squeeze.我无法使用我的用户帐户或root用户拥有该服务,除非我完全打开权限,在这种情况下它可以正常工作.我还要注意,当我完全打开系统总线时,我仍然必须使用root来向守护进程发送消息(终止命令).我希望解决方案能够通过具有访问权限的root的特定用户运行.我也很满意解决方案只允许同一个用户和root用户向它发送消息.

感谢您的帮助,我相信这是一个小问题!

解决方法:

我终于找到了这个问题.当Dbus查找配置文件以查找权限(如所有权)时,该文件不仅必须在system.d /中,而且还必须以.conf结尾.

我的配置文件“org.dbus.arduino”应该是“org.dbus.arduino.conf”.我从system.conf中删除了代码.确认我不再拥有权限,在“system.d / org.dbus.arduino.conf”创建配置文件,我被授予权限.然后我尝试将文件重命名为“org.dbus.arduino”并确认权限被拒绝.

标签:linux,configuration,dbus,qtdbus

来源: https://codeday.me/bug/20191006/1862440.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值