2011-10-21 28 views
4

我需要能夠以編程方式管理supervisord安裝程序。此外,系統中的任何用戶都不應該能夠訪問supervisord的配置。出於這個原因,通信需要以某種方式得到保證。如何通過xmlrpc安全地獲得對supervisord的編程訪問權限?

我知道supervisord以XML-RPC的形式提供編程訪問。我閱讀了這些文檔,並試圖用多種方式處理它,但我一直在遇到問題。

  1. Introduction page,文檔建議運行爲XML-RPC接口的HTTP服務器,並使用Python標準庫xmlrpclib與之通信。有兩個問題在這裏:

    • inet_http_server指令爲supervisord.conf只包括用戶名,密碼和端口設置。沒有選項可以加密連接。
    • xmlrpclib甚至不支持用戶名和密碼。當我使用語法username:[email protected]:port時,我得到IOError: unsupported XML-RPC protocol。正如您在文檔頁面上的示例中所看到的那樣,不會進行身份驗證。
  2. 由於UNIX套接字是安全的,我想通過xmlrpclib連接到[unix_http_server]將是一個好主意。不過,我不知道身份驗證如何工作,而且,xmlrpclib僅支持網絡HTTP/HTTPS服務器。

  3. 文檔中的另一頁提到了supervisor.rpcinterface模塊。不過,我沒有在Python中訪問過這樣的東西。爲了收集更多關於爲什麼這樣的信息,我重新安裝了Pip的監督。 sudo pip install --upgrade supervisor。在點輸出中,我看到了行Skipping installation of /usr/local/lib/python2.6/dist-packages/supervisor/__init__.py (namespace package)。我不知道爲什麼它會跳過名稱空間包的安裝。

我該如何以編程方式與supervisord進行通信?

回答

相關問題