Python中的Web服务调用(Twisted + ZSI)在chroot jail中不工作
问题描述:
我有一个Python脚本,使用带有Twisted的ZSI调用Web服务。在Linux上,我正在运行这个脚本,它工作正常。Python中的Web服务调用(Twisted + ZSI)在chroot jail中不工作
现在,我想让这个脚本运行在我的文件系统中某处的chroot jail中。我在监狱中加入了usr,lib和etc目录。当我从监狱执行脚本,也没有从Web服务响应和扭曲的报道,看起来像一个错误:
[故障实例:回溯(失败无帧数):twisted.internet.error。 ConnectionLost:以不干净的方式连接到另一端。 ]
如果我的chroot到文件系统(/)的根,如果新的监狱使用已经存在的USR,lib和etc目录,它不出差错的工作。
我怀疑有一个库丢失或第一个chroot监狱的bin/usr/etc目录中的库不正确。你有任何线索可以帮助我吗?有人有解决这个问题的办法吗?
答
如果您的应用程序在某个时候引发了意外的异常 - 例如,因为某些依赖项无法导入,因为它没有安装在chroot中 - 那么这可能会导致连接意外关闭。由于您没有提及您拥有什么样的连接或您正在使用哪些API来管理它们,因此很难精确地说出来。
确保您启用了日志记录并查找正在写入日志文件的意外回溯。如果您看到任何问题,那么很可能它们与导致应用程序失败的问题相关联。
是否有可能在你的堆栈中需要一个“/ tmp”目录? – 2011-12-20 17:20:54