我正在尝试沙箱化特定的
Python进程,只允许它访问网络通信和文件系统上的一些选定文件.我按照
the Ubuntu community docs site的指示和Chromium项目的
article on their sandboxing.
但是,我只想阻止一些Python进程.为了解决这个问题,我将Python可执行文件符号链接到另一个位置(称之为python sandBox)并将AppArmor配置文件应用于它.
当我启动python-sandBox时,我仍然能够在文件系统上打开任意文件并从中读取.怎么了?
我做了以下事情:
创建AppArmor配置文件如下:
#include <tunables/global> /opt/python-sandBox { #include <abstractions/base> #include <abstractions/fonts> /proc/** r,/usr/lib/python2.7/** r,/usr/local/lib/python2.7/** r,network,}
使用名称opt.python-sandBox将其复制到/etc/apparmor.d/目录中(因为符号链接是/ opt / python-sandBox.
运行apparmor_parser /etc/apparmor.d/opt.python-sandBox.
我做错什么了吗?我应该考虑另一种方法吗?