寻求 Python 代码管控方案

问答 oneforall
Lv2 初级炼丹师
发布在 Python编程   357   0
问答 oneforall   357   0

    问题引入

    公司需要对代码进行管控,以前的代码都是 C 写的,编译工作在远程的服务器上,用 RDP 远程连接到服务器上进行开发,编译后的固件传下来。 现在引入了 python 语言来做的自动化测试方案,需要运行在 本地的 Linux 系统 上,还要 开放 root 权限 。现在同样需要对 python 的代码进行管控。所以在思考有没有什么方式,可以指定 python 这个程序才可以访问到特定的文件和目录, 其他的进程无法访问 。 代码可以是一个整体的加密文件,运行时解密,但解密后的内容要保证不会被轻易取走。或者通过远程服务器实时下发内容运行。最好是能保留调试功能,可以逐行执行代码什么的。由于程序需要依赖硬件,所以代码只能在本地的 Linux 系统上运行才可以。

    想到的可能方案

    我们在 Windows 平台的软件有类似的设计,会生成一个虚拟的文件系统,具体方式我也不清楚,然后把实际运行的 exe 文件存放在其中,再运行。 这样的话就需要实现一个FUSE,并且要保证这个文件系统是只有指定的进程才可以访问到的。 可以修改cpython的代码,里面融合类似于encfs这样的 FUSE,读的接口只暴露给 cpython 这个程序。然后再加上网络验证,从服务器上获取代码,运行完之后整个销毁掉。 但是这样的方式工程量比较巨大,还是需要先考虑其他可行方式。

    其他说明

    管控就是说这个代码只允许存放到公司内部的服务器上,通过 RDP 这样的远程方式去访问编辑,不允许把代码下载到本地电脑

    Python 代码运行时需要访问 pci 总线上的设备,所以代码只能在本地的机器上跑才行,在本地机器的 pcie 接口上连接设备。并且需要 root 的权限,用来操作 Linux 内核的一些功能。除此之外,连接的设备也可能会经常更换之类的。所以代码在远程服务器上运行的方案基本上是不行了。

    版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

    参与讨论

    回复《 寻求 Python 代码管控方案

    EditorJs 编辑器

    沙发,很寂寞~
    反馈
    to-top--btn