我正在尝试创建一个在系统总线上运行的守护程序服务,其中从此服务发送和接收的权限应该完全对任何人开放. (安全性不是此服务的关注点).当我尝试使用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

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

  1. linux根据修改日期删除,在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?...

    问:在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件? 答:脚本del_files_of_date.sh 用法:./del_files_of_date.sh 比如:./del_files ...

  2. 如何清理卸下应用的残余文件_Win10系统卸载软件程序及清除残留文件的方法有哪些?...

    彼时荒年 回答数:147  |  被采纳数:134 2017-11-29 14:55:34 如果需要卸载安装在Windows10系统电脑中的软件程序,可用如下几种方法进行卸载:一是用软件自带的卸载程序 ...

  3. linux为用户指定资源大小,Linux_Linux系统下生成一个指定大小的文件,在装系统,因此在这里随便记 - phpStudy...

    Linux系统下生成一个指定大小的文件 在装系统,因此在这里随便记点东西. 从前与经理讨论NVR项目的时候,他提到要预先将用户指定好的磁盘空间预留出来,这是比较容易实现的功能.不容易实现的是自己写一个 ...

  4. linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  5. 打开计算机管理提示找不到文件,Win8系统打开计算机管理提示找不到文件怎么解决...

    从windows xp系统到win10系统的发展,功能和界面都有很大的修改,而对于系统本身来说,一些基本设置还是没有变的,比如计算管理,计算机管理是一组 Windows 管理工具,可用来管理本地或远程 ...

  6. win怎么在计算机里按日期搜索文件,win10系统如何按指定修改日期搜索文件

    Win10系统搜索文件最主要的当然还是根据名称来搜索,当然也可以给搜索限定一些条件,比如说大小.类型等等,这其中还包括修改时间.本文就来介绍一下系统如何按指定修改日期搜索文件. 1.首先在搜索框中点击 ...

  7. win怎么在计算机里按日期搜索文件,Win8系统如何按指定修改日期搜索文件

    Win8系统搜索文件最主要的当然还是根据名称来搜索,当然也可以给搜索限定一些条件,比如说大小.类型等等,这其中还包括修改时间.本文就来介绍一下Win8系统如何按指定修改日期搜索文件. 1.首先在搜索框 ...

  8. 删除linux内核多余架构,删除多余Linux内核方法

    我使用的是Linux Mint,更新频繁,旧版本的Linux内核只会浪费硬盘空间,因此我会定期删除多余的内核. 查看已安装所有内核: sudo dpkg --get-selections |grep ...

  9. linux分区表错误修复工具,在Linux下成功修复分区表出错

    我重启开了Ubuntu,然后插上他的硬盘,终端上输入 sudo fdisk -l 这下竟然可以看到同学那块硬盘的信息,不过还是不能正确读取出 硬盘无法识别,无法通过自检,在Linux下成功修复分区表出 ...

最新文章

  1. leetcode算法题--分割等和子集★
  2. Tomcat设置Http自动跳转Https
  3. Flutter 异常处理之图片篇
  4. 选择器Selector
  5. navicat开启mysql数据库root用户的远程访问
  6. oracle禁止修改密码,Oracle 用户密码过期后不允许修改密码的示例代码
  7. C/C++中volatile关键字的作用
  8. CVE-2017-8046(Spring Data Rest RCE)
  9. Python运算符+与+=的那些事
  10. asp.net Framework 与 asp.net core 知识
  11. 数组越界也可以这么巧~~~
  12. 关于最佳观影距离分享 投影仪测量的那些事
  13. 小白的编程经验(二维数组推箱子游戏)
  14. STM32使用DMA在Normal模式下二次传输
  15. linux开放端口的两种方法
  16. matlab这么画三维函数图,matlab 画三维图函数
  17. 登录后跳转又提示未登录
  18. Shopify和其他电子商务平台上的微数据
  19. 2018 蓝桥杯省赛 B 组模拟赛(一)-U型数字
  20. flex布局之flex-direction

热门文章

  1. C++ opengl GL_QUAD_STRIP的绘制
  2. C++ STL 乱序算法
  3. Qt|C/C++植物大战僵尸修改器(用户版)
  4. pycham窗口显示多个编辑页面
  5. linux安装源码mysql失败,linux停mysql源码安装
  6. python字符串数组切片性能_python – 为数组切片赋值很慢
  7. 河北体检系统诚信企业推荐_海南膜结构停车棚加工厂诚信企业推荐
  8. oracle压缩参数,Oracle 11g版本EXPDP 的COMPRESSION参数压缩比堪比“gzip -9”
  9. 【C语言笔记进阶篇】第二章:字符串函数和内存函数
  10. 4-7:TCP协议之流量控制