沙盒权限¶
沙盒权限可以在应用清单文件中配置(参考 清单 )。也可以通过 `` build-finish `` , `` run `` 和 `` override `` 命令设置。
下述列表包含了大多树有用的权限选项。完整的列表可以通过 `` flatpak build-finish –help `` 命令查看。
--socket=x11 |
使用X11显示窗口 |
--share=ipc |
与主机共享IPC命名空间 [#f1] |
--device=dri |
OpenGL渲染 |
--socket=wayland |
通过Wayland显示窗口 |
--socket=pulseaudio |
使用PulseAudio播放音频 |
--share=network |
访问网络 [#f2] |
--talk-name=org.freedesktop.secrets |
在会话总线中与命名服务通信 |
--system-talk-name=org.freedesktop.GeoClue2 |
在系统总线中与命名服务通信 |
--socket=system-bus |
对所有的D-Bus无限制访问 |
文件系统权限¶
下述的每一项配置文件系统的访问权限,并且应该添加到 `` –filesystem= `` :
host |
访问所有文件 |
home |
访问home目录 |
/some/dir |
访问任意路径 |
~/some/dir |
访问任意相对home目录的路径 |
xdg-desktop |
访问XDG桌面目录 |
xdg-documents |
访问XDG文档目录 |
xdg-download |
访问XDG下载目录 |
xdg-music |
访问XDG音乐目录 |
xdg-pictures |
访问XDG图片目录 |
xdg-public-share |
访问XDG公共目录 |
xdg-videos |
访问XDG视频目录 |
xdg-templates |
访问XDG模板目录 |
路径都可以添加 `` filesystem`选项上。如 `` –filesystem=xdg-documents/path `` 。下面的权限选项也可以添加上去:
:ro
- read-only access:rw
- read/write access (this is the default):create
- read/write access, and create the directory if it doesn’t exist
脚注
[1] | 虽然不是必要,但是没有这个,X11共享内存扩展会失效,X11的性能非常差。 |
[2] | 授予网络访问权限时,也会授予所有的主机服务监听Unix抽象套接字权限(原因请参考网络命名空间工作原理),并且没有权限检查。这会造成不好的影响。如:默认情况下监听Unix抽象套接字的X 服务器和会话总线。安全的发行版应该禁用,且使用普通的套接字。 |