flatpak

本文最后更新于:2023年4月20日 下午

flatpak

demo1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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


flatpak
https://realwujing.github.io/linux/package/flatpak/
作者
Wu Jing
发布于
2023年4月19日
许可协议