如我所知,WASI允许沙箱式WebAssembly应用程序访问底层操作系统,而且Emscripten FS还提供了几个文件系统,如NODEFS。我的问题是,WASI和EMscriptenFS都代表着提供沙箱文件系统的相同目标,还是这两者有着不同的用法?有人能帮我把两者都弄明白吗?
发布于 2021-03-08 15:39:52
Emscripten本身并不打算提供任何沙箱。使用emscripten,编译代码的任何沙箱都由主机环境提供。例如,到目前为止最常见的主机如果网络有一个非常强大的沙箱自己。如果您在web上运行emscripten代码,它具有与页面上其余的JS代码完全相同的特权。同样,如果在节点if下运行emscripten生成的代码,其权限与流程中JS代码的其余部分相同(即默认情况下这意味着与节点进程本身的权限相同)。
然而,WASI的目标之一是定义一个严格的沙箱,这样主机环境就可以简单地决定与WebAssembly模块共享哪些资源。
https://stackoverflow.com/questions/66523662
复制相似问题