簡體   English   中英

Linux DBus通信

[英]Linux DBus communication

在Linux D-Bus中:

  1. 是什么阻止進程A直接與進程B對話? 為什么方法調用消息必須經過總線守護進程?

  2. 為什么守護程序的配置文件中的<policy>部分具有允許/拒絕擁有總線名稱的選項?

  3. 如果一個進程可以使用匹配規則來潛在地監視通過總線守護進程的任何消息,那么兩個正在通信的進程是否可以以任何方式表達任何限制,使得其他進程無法觀察到它們的流量?

  4. 為什么在文檔中說給定的總線名稱將始終引用同一應用程序? -機器重啟后,這是否成立?

對於1:我目前的理解是,為了使進程A和B彼此通信,兩者都必須在總線守護程序中注冊一個總線名稱。 那么,阻止A與B對話的唯一原因是它可能知道B的總線名稱並且無法在機器上找到它嗎?

1-什么都沒有。 使用總線要簡單得多(服務和客戶端都是tcp客戶端,而不是服務器,更易於配置,管理名稱等)

2-確保名稱背后的服務是您信任的服務。 否則,惡意代碼可能會要求提供名稱並假裝是該服務。

3-IMO是(盡管不確定)

4-名稱<->連接。 一個進程可以擁有多個名稱。 自動名稱不會重新分配給新的連接(如果重新連接,它始終是新名稱)重新啟動后,您可以再次看到相同的名稱,但是在重新啟動之間,您可以假設一段時間內沒有相同的名稱分配給兩個不同的連接(=競爭條件)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM