所以我有一个Python应用程序(它会产生其他进程),我想拒绝任何写入。这似乎是 SELinux 的工作。您能否描述一下完成此操作所需的步骤,或者引导我找到一些好的阅读资源,因为从我发现的情况来看,这些资源并不多。
答案1
目前在每个操作系统下都很难做到这一点。 Chrome 开发者在这方面已经取得了一些进展,但仍然很困难。他们为 Win* 系统提供了大约 22k 行代码 (LOC) 的解决方案,为 Linux 提供了大约 11k LOC 的解决方案。
在最近的新闻中,FreeBSD 9.0 发布了辣椒,一个为此目的而设计的框架,但它只能在 *BSD 系统上运行。
在 Linux 上,您可以使用 seccomp 避免 SELinux 或 AppArmor。看到这个绿网文章了解更多详细信息和示例用法。但这确实很难:对于读或写等系统调用来说,这是一个全有或全无的功能。
目前 LKML 正在采用一种新方法,使用伯克利数据包过滤器,请参阅这个帖子威尔·德鲁里。