linux总线错误无法删除文件,linux – 系统D-Bus不允许使用conf文件来破坏所有权...
我正在嘗試創(chuàng)建一個(gè)在系統(tǒng)總線上運(yùn)行的守護(hù)程序服務(wù),其中從此服務(wù)發(fā)送和接收的權(quán)限應(yīng)該完全對任何人開放. (安全性不是此服務(wù)的關(guān)注點(diǎn)).當(dāng)我嘗試使用QtDbus(使用PyQt)注冊服務(wù)時(shí),我收到此錯(cuò)誤:由于配置文件中的安全策略,連接“:1.0”不允許擁有服務(wù)“org.dbus.arduino”.這個(gè)其他堆棧溢出具有相同的錯(cuò)誤,但由于某種原因在這種情況下根本沒有幫助. dbus_bus_request_name (): Connections are not allowed to own the service.
通常你應(yīng)該保留system.conf文件,并在system.d目錄中添加你的權(quán)限“打出”配置文件.我已經(jīng)做到了這一點(diǎn),但它似乎沒有改變?nèi)魏螙|西,無論我如何打開我的權(quán)限.事實(shí)上,我?guī)缀跏欠e極的,它沒有改變?nèi)魏螙|西!這是我的conf文件,因?yàn)樗驮谶@一刻.
/p>
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
即使我這樣做或類似的東西,它仍然不起作用.
我甚至將文件的名稱以z開頭,以便它可能是最后一個(gè)讀入的文件.這是system.conf文件,請注意我已經(jīng)注釋掉了“允許自己”部分.這是使其工作的唯一方法(以及最糟糕的“修復(fù)”).
/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
我絕對必須使用系統(tǒng)總線,因?yàn)槲覍⑺渴鹪跊]有GUI的Raspberry Pi上(沒有x11,沒有會話總線).我只能通過完全允許系統(tǒng)總線上的所有內(nèi)容來獲得Raspberry Pi的工作(安全性并不是這個(gè)設(shè)備上的大部分交易).顯然,我不允許在我的開發(fā)機(jī)器上發(fā)生這種情況.作為背景我使用的是Opensuse 12.2,Raspberry Pi是Debian Squeeze.我無法使用我的用戶帳戶或root用戶擁有該服務(wù),除非我完全打開權(quán)限,在這種情況下它可以正常工作.我還要注意,當(dāng)我完全打開系統(tǒng)總線時(shí),我仍然必須使用root來向守護(hù)進(jìn)程發(fā)送消息(終止命令).我希望解決方案能夠通過具有訪問權(quán)限的root的特定用戶運(yùn)行.我也很滿意解決方案只允許同一個(gè)用戶和root用戶向它發(fā)送消息.
感謝您的幫助,我相信這是一個(gè)小問題!
解決方法:
我終于找到了這個(gè)問題.當(dāng)Dbus查找配置文件以查找權(quán)限(如所有權(quán))時(shí),該文件不僅必須在system.d /中,而且還必須以.conf結(jié)尾.
我的配置文件“org.dbus.arduino”應(yīng)該是“org.dbus.arduino.conf”.我從system.conf中刪除了代碼.確認(rèn)我不再擁有權(quán)限,在“system.d / org.dbus.arduino.conf”創(chuàng)建配置文件,我被授予權(quán)限.然后我嘗試將文件重命名為“org.dbus.arduino”并確認(rèn)權(quán)限被拒絕.
標(biāo)簽:linux,configuration,dbus,qtdbus
來源: https://codeday.me/bug/20191006/1862440.html
總結(jié)
以上是生活随笔為你收集整理的linux总线错误无法删除文件,linux – 系统D-Bus不允许使用conf文件来破坏所有权...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cortex-M3中断的具体行为
- 下一篇: 含有运算放大器的电阻电路