我正在使用 PHP 运行本机 Linux 程序shell_exec。具体来说,调用反词从用户上传的 Microsoft Word 文件中提取文本。但是,由于我无法评估 anbiword 的代码质量,并且它正在输入未经过滤的用户输入(Word 文件),因此我想限制它的权限。
例如,它只应该允许读取文件并在标准输出上输出文本,但不允许写入或删除任何文件。
是否有任何已知的方法可以“包装”或以其他方式限制从 PHP 或命令行调用的程序(如 antiword)?
到目前为止我发现应用装甲它似乎能够提供此功能,尽管不是简单的,也不是通过命令行动态实现的。
答案1
这就是selinux 沙盒是为了……而建造的。这里是 的文档sandbox
。在容器或虚拟化领域也有人致力于实现同样的目标virt-沙盒项目。