我這是不以root運行,我正在開發方面的應用Python的服務器。但是有一些應用程序功能需要訪問RAW套接字,這意味着root權限。Python的遠程過程調用(沒有遙控部分)
很顯然,我不想運行主服務器作爲根,所以我的解決方案是創建以root身份運行提供防護訪問所述功能的守護進程或命令行腳本。
不過,我想拋開標準輸入/輸出通信,並使用互動的RPC風格如Pyro。但是,這暴露了RPC接口給任何有網絡訪問權限的人,而我知道調用RPC方法的進程將是同一臺機器上的另一個進程。
是不是有一個排序進程間過程調用標準的可能以類似的(本地計算機只)的方式來使用?我想象中的服務器做這樣的事情:
# Server not running as root
pythonically, returned, values = other_process_running_as_root.some_method()
而以root運行暴露的方法的過程:
# Daemon running as root
@expose_this_method
def some_method():
# Play with RAW sockets
return pythonically, returned, values
是這樣可能什麼?
我不知道任何事情預先編寫的,但我認爲這將是很容易使用像ZMQ的通信層執行,因爲周圍的請求的抽象/答覆通道。 – 2011-01-21 18:23:18