公司需要对代码进行管控,以前的代码都是 C 写的,编译工作在远程的服务器上,用 RDP 远程连接到服务器上进行开发,编译后的固件传下来。
现在引入了 python 语言来做的自动化测试方案,需要运行在 本地的 Linux 系统 上,还要 开放 root 权限 。现在同样需要对 python 的代码进行管控。所以在思考有没有什么方式,可以指定 python 这个程序才可以访问到特定的文件和目录, 其他的进程无法访问 。
代码可以是一个整体的加密文件,运行时解密,但解密后的内容要保证不会被轻易取走。或者通过远程服务器实时下发内容运行。最好是能保留调试功能,可以逐行执行代码什么的。由于程序需要依赖硬件,所以代码只能在本地的 Linux 系统上运行才可以。
我们在 Windows 平台的软件有类似的设计,会生成一个虚拟的文件系统,具体方式我也不清楚,然后把实际运行的 exe 文件存放在其中,再运行。
这样的话就需要实现一个FUSE,并且要保证这个文件系统是只有指定的进程才可以访问到的。
可以修改cpython的代码,里面融合类似于encfs这样的 FUSE,读的接口只暴露给 cpython 这个程序。然后再加上网络验证,从服务器上获取代码,运行完之后整个销毁掉。
但是这样的方式工程量比较巨大,还是需要先考虑其他可行方式。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.