私は開発中のアプリケーションの前にあるルートとして実行されていないPythonサーバーを持っています。しかし、root特権を意味するRAWソケットへのアクセスを必要とするいくつかのアプリケーション機能があります。Pythonリモートプロシージャコール(リモートパートなし)
明らかに私はrootとしてメインサーバを実行したくないので、私の解決策は、上記の機能へのアクセスを保護するルートとして実行されるデーモンプロセスまたはコマンドラインスクリプトを作成することです。
しかし、私はstdin/stdout通信を脇に置き、Pyroのような相互作用のRPCスタイルを使用します。しかし、これはマシンへのネットワークアクセスを持つ誰にでも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のような通信レイヤーを使用して実装することは、要求/応答チャネルの抽象化としては簡単にできると思います。 –