Flatpak应用打包与沙盒化
demo1
flatpak install com.belmoussaoui.Decoder
# 默认过滤规则进入沙箱
flatpak run --devel --command=bash com.belmoussaoui.Decoder
# 发送测试命令 需要换成自己的demo服务,然后启动服务,预期结果dbus调用被拦截
dbus-send --session --type=method_call --print-reply --dest=com.deepin.linglong.AppManager /com/deepin/linglong/PackageManager com.deepin.linglong.PackageManager.test string:"org.deepin.demo"
# 退出沙箱
exit
# 设置过滤规则允许调用test,进入沙箱
flatpak run --devel --command=bash --talk-name=com.deepin.linglong.AppManager com.belmoussaoui.Decoder
# 预期结果dbus调用成功
dbus-send --session --type=method_call --print-reply --dest=com.deepin.linglong.AppManager /com/deepin/linglong/PackageManager com.deepin.linglong.PackageManager.test string:"org.deepin.demo"
demo2
flatpak install com.belmoussaoui.Decoder
# 默认过滤规则进入沙箱
flatpak run --devel --command=bash com.belmoussaoui.Decoder
# 发送测试命令 需要换成自己的demo服务,然后启动服务,预期结果dbus调用被拦截
dbus-send --session --type=method_call --print-reply --dest=com.scorpio.test /test/objects com.scorpio.test.value.book
# 退出沙箱
exit
# 设置过滤规则允许调用test,进入沙箱
flatpak run --devel --command=bash --talk-name=com.scorpio.test com.belmoussaoui.Decoder
# 预期结果dbus调用成功
dbus-send --session --type=method_call --print-reply --dest=com.scorpio.test /test/objects com.scorpio.test.value.book
Flatpak原理-ostree
xdg-dbus-proxy - D-Bus proxy
Figure 7. Example of successful EXTERNAL authentication with successful negotiation of Unix FD passing
C: AUTH EXTERNAL 31303030
S: OK 1234deadbeef
C: NEGOTIATE_UNIX_FD
S: AGREE_UNIX_FD
C: BEGIN
More
💬 评论