2017-05-08 96 views
3

默认的Bazel沙盒允许读访问/。我怎样才能进一步限制呢?例如。我想阻止非密封测试访问/search目录。如何锁定Bazel文件系统沙箱?

有一个--sandbox_block_path标志,但是它在012中的was removed

+0

一个简单的方法是将Bazel作为特定用户执行,并禁止使用ACL对'/ search'进行读取访问。 – abergmeier

+0

“默认的Bazel沙箱允许读访问'/'。” - 这听起来像一个错误。您可以通过https://github.com/bazelbuild/bazel/issues/new将其提交,并添加任何可能相关的信息吗? (例如,您看到了哪个Bazel版本或提交哈希,您在命令行上传递了哪些标志,以及任何可能相关的标志。)谢谢! –

回答

5

感谢您报告删除此功能对您而言是一个问题。我发现了一种如何使它在Linux和MacOS上可靠工作的方法,并将它带回来。代码审查已发送给同事。我会确保它被选入Bazel 0.5.0。

+1

感谢您带回来。有没有一个很好的解释为什么'/'默认可读?我设计用于强化密封性的沙盒概念是默认锁定所有内容,并强制用户指定一个非常有限的“--sandbox_allow_path”列表,而不是相反。 Google如何做到这一点? – Gregg

+0

@Gregg“锁定一切,默认情况下,白名单除外”是Bazel首次尝试沙盒式游戏,由于涉及的工作量很大,因此非常不受用户欢迎。也就是说,沙箱还在不断发展,我们可能会在未来再添加一个更严格的版本(作为选择)。 :)顺便说一下,--sandbox_allow_path变更没有进入0.5.0/0.5.1版本,但将包含在0.5.2版本中,包括另一个可能对您有用的新标志( - -sandbox_writable_path)。 –

+0

@PhilippWollermann你可以添加链接到github问题或提交? – Ittai