Bubblewrap Flatpak 使用的低级非特权沙箱工具开源项目

我要开发同款
白开水不加糖2023年07月12日
77阅读
开发技术C/C++SHELL
所属分类安全相关、管理和监控
授权协议Unknown

作品详情

Bubblewrap是一个Flatpak和类似项目使用的低级非特权沙箱工具。

bubblewrap是一个构建沙箱环境的工具。bubblewrap不是一个完整的、具有特定安全策略的现成沙箱。

bubblewrap的一些用例需要沙箱和真实系统之间的安全边界;其他用例希望能够更改沙箱内进程的文件系统布局,但并不旨在成为安全边界。因此,沙箱进程和主机系统之间的保护级别完全由传递给bubblewrap的参数决定。

无论哪个程序为bubblewrap构造命令行参数(通常是较大的框架,如Flatpak、libgnome-desktop、sandwine或临时脚本),都负责定义自己的安全模型,并选择适当的bubblewrap命令行参数来实现该模型安全模型。

bubblewrap在大多数Linux发行版的软件包存储库中都可用。

bubblewrap的工作原理是创建一个新的、完全空的挂载命名空间,其中root 位于主机上不可见的tmpfs上,并且当最后一个进程退出时将自动清理。然后,你可以使用命令行选项构建根文件系统和进程环境以及在命名空间中运行的命令。

源代码中有一个更大的演示脚本,但这里有一个精简版本,它运行一个新的shell,重用主机的/usr

bwrap\--ro-bind/usr/usr\--symlinkusr/lib64/lib64\--proc/proc\--dev/dev\--unshare-pid\--new-session\bash这是一个不完整的示例,但对于说明目的很有用。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论