生成独立的生成或任何shell命令



请给我一个最简单、最轻的解决方案,以隔离linux shell脚本(通常是ubuntu,以防它有smth特殊)

我对隔离的意思是:1.文件系统——最重要的是——我希望它不能访问工作区之外的任何文件夹(读取),除了我将以某种方式手动配置的文件夹2.实际上,其他类型的隔离与无关

"软"隔离是可以的,我的意思是,如果试图访问(读取)被拒绝的路径,脚本可能会失败/中止,但对于这种尝试,"硬"隔离以获得"未找到"看起来像是一个更干净的解决方案

我不需要任何进程隔离,脚本可以使用sudo/fakeroot/等。内部,但这不应影响隔离。

此外,我计划在一个工作区内使用不同的隔离:

例如,我有文件夹:

a/
b/
include/
target/

我想make a只允许它访问"a"(rw)、"include"(r)和"target"(rw+sudo)make b只允许它访问"b"(rw)、"include"(r)和"target"(rw+sudo)

目标将从A和B获得两个结果,允许B覆盖A的任何结果——如果没有隔离,则相同

我所说的隔离的目标是防止B从A读取,即使知道有A,反之亦然

谢谢!

两个不同的用户和SSH是解决问题的简单方法。其中一个关键的好处是,这将在一个新的shell中启动一个"干净"的环境。

ssh <user_a>@localhost '<path_to_build_script_a>'
ssh <user_b>@localhost '<path_to_build_script_b>'

用户a和b必须都是拥有公用目录的组的成员。

请注意,是目录写入权限决定用户是否可以在该目录中创建新文件。

编辑:2013-07-29

对于许多顺序的独立构建,如您的情况,一种解决方案是按照您已经建议的方式进行;自动更改文件权限,以便每个生成都只能访问它应该访问的文件和文件夹。

最新更新