请给我一个最简单,最轻便的解决方案来暗示一个linux shell脚本(通常是ubuntu,如果它有特殊的话)
我对隔离的意思是: 1.文件系统 - 最重要的 - 我希望它不能访问工作区外的任何文件夹(读取),除了那些我将以某种方式手动配置 2.实际上,其他类型的隔离无关紧要
" soft"隔离,我的意思是,如果尝试访问(读取)被拒绝的路径,脚本可能只会失败/中止,但是"硬"隔离得到"未找到"对于这样的尝试看起来像一个更清洁的解决方案
我不需要任何进程隔离,脚本可能会使用sudo / fakeroot / etc.在里面,但这不应该影响隔离。
另外,我计划在一个工作区内使用不同的隔离:
例如,我有文件夹:
a/
b/
include/
target/
我希望make a
只允许其访问" a"(rw),"包含"(r)和" target" (RW +须藤)
make b
只允许其访问" b"(rw),"包括"(r)和" target" (RW +须藤)
和target将获得A和B的结果,允许B覆盖A的任何结果 - 如果没有隔离则相同
我所谈论的隔离目标是阻止B从A读取,即使知道存在A,反之亦然
谢谢!
答案 0 :(得分:1)
两个不同的用户和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
对于许多顺序隔离的构建,就像你的情况一样,一个解决方案是你已经建议的那样做;自动化文件权限更改,以便每个构建只能访问它应该的文件和文件夹。