我有一个Python服务器,它不是以root身份运行的,它作为我正在开发的应用程序的前端。然而,有一些应用程序功能需要访问RAW套接字,这意味着需要root权限。
显然,我不想将主服务器作为root运行,所以我的解决方案是创建一个守护进程或命令行脚本,以root身份运行,提供对这些功能的保护访问。
但是,我想放弃stdin/stdout通信,使用类似Pyro的RPC交互方式。但是,这会将RPC接口暴露给任何具有网络访问权限的人,而我知道调用RPC方法的进程将是同一台机器上的另一个进程。
难道没有一种类似于进程间过程调用标准可以以类似(仅限本地机器)的方式使用吗?我想象服务器会做这样的事情:
显然,我不想将主服务器作为root运行,所以我的解决方案是创建一个守护进程或命令行脚本,以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
有类似这样的可能吗?