Linux 执行独立构建或任何shell命令
请给我一个最简单、最轻巧的解决方案来隔离linux shell脚本(通常是ubuntu,以防它有smth特殊功能) 关于隔离,我的意思是: 1.文件系统-最重要的-我希望它不能访问工作区之外的任何文件夹(读取),除了我将以某种方式手动配置的文件夹 2.实际上,其他类型的隔离并不重要 “软”隔离是可以的,我的意思是,如果试图访问(读取)被拒绝的路径,脚本可能会失败/中止,但对于这样的尝试,获得“未找到”的“硬”隔离看起来是一个更干净的解决方案 我不需要任何进程隔离,脚本可以在其中使用sudo/fakeroot/等,但这不应该影响隔离 此外,我计划在一个工作区内使用不同的隔离: 例如,我有文件夹:Linux 执行独立构建或任何shell命令,linux,shell,isolatedstorage,isolation,Linux,Shell,Isolatedstorage,Isolation,请给我一个最简单、最轻巧的解决方案来隔离linux shell脚本(通常是ubuntu,以防它有smth特殊功能) 关于隔离,我的意思是: 1.文件系统-最重要的-我希望它不能访问工作区之外的任何文件夹(读取),除了我将以某种方式手动配置的文件夹 2.实际上,其他类型的隔离并不重要 “软”隔离是可以的,我的意思是,如果试图访问(读取)被拒绝的路径,脚本可能会失败/中止,但对于这样的尝试,获得“未找到”的“硬”隔离看起来是一个更干净的解决方案 我不需要任何进程隔离,脚本可以在其中使用sudo/fa
a/
b/
include/
target/
我想制作一个只允许它访问“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>'
ssh@localhost''
ssh@localhost“”
用户a和b都必须是拥有公用目录的组的成员
请注意,决定用户是否可以在该目录中创建新文件的是目录写入权限
编辑:2013-07-29
对于像您这样的大量顺序隔离构建,一个解决方案是按照您已经建议的方式执行;自动更改文件权限,使每个版本只能访问它应该访问的文件和文件夹。但是我仍然需要一个“手动”脚本,在每次调用ssh
之前进行权限切换,对吗?我看不需要这样做。目录a应该只能由用户a读/写,反之亦然。谢谢,但在a和B的情况下,您的解决方案可能是可接受的,但我有大约60个动态管理的脚本,每个脚本我都想隔离,可能我需要更多的简化。我同意我的建议不能很好地扩展。脚本是否可以顺序运行,或者是否需要并行运行?我们只需要顺序运行,或者至少不冲突的并行运行—这是可控的