linux - debootstrap 访问原始根系统 chroot Jail

标签 linux security ubuntu chroot jail

我正在编写一个在线编码 jude 网站,例如 spoj.pl,并且我正在创建一个用于编译和执行该程序的 jail 。我编写了一个脚本,它采用 c/c++ 源代码,编译并运行代码。我需要在 debootstrap 创建的 jail 中执行此程序,但我必须限制对我的脚本的权限,并允许二进制文件仅读取原始/home/ubuntu 系统中存在的输入/输出文件。

可能吗?

Linux system:
/home/ubuntu:
   This folder has 
   online_judge/scripts.py ...
   input_output/input*.txt,output*.txt

/Jail 
    submissions/code.c
    submissions/code.cpp

我需要使用受限制的 jail 用户调用 jail 中/home/ubuntu的scripts.py,编译代码并运行二进制文件。 Jail 用户永远不能访问任何/home/ubuntu 文件,除了我可以授予执行权限的 input_output/input*txt

最佳答案

I need to invoke scripts.py of /home/ubuntu in the jail with restricted jail user,

你说scripts.py位于/home/ubuntu/online_judge,而不是/Jail。因此,要么将 jail 用户限制为/Jail,要么不限制。如果受限制的 jail 用户应该执行 online_judge/scripts.py,您必须使其可以在/Jail 下的某个位置访问。

The Jail user should never be able to access any of the /home/ubuntu files except input_output/input*txt which i can give then execute permission

硬链接(hard link)可能会有所帮助,例如“ln/home/ubuntu/online_judge/scripts.py/Jail/scripts.py”,现在受限 jail 用户可以通过/Jail/scripts.py访问scripts.py。请务必限制对该文件的写入访问,否则她/他将修改两个“副本”。

关于linux - debootstrap 访问原始根系统 chroot Jail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18167487/

相关文章:

Linux:如何检查驱动器是否挂载到 nfs

c - Linux内核中进程的年龄

javascript - Object.freeze 不会阻止对象被重新初始化?

postgresql - iReport 设计器 : permission denied for relation

linux - Elixir:在 Ubuntu 上安装 Elixir 会终止正在运行的 Couch DB 实例

linux - 使用 wc 时文件名打印两次

linux - 使用 AWK 添加选项卡时出现问题

c# - 为什么使用 PrimarySearcher 比 FindByIdentity() 更快?

java - 如何为 Java 生成 2048 位 DSA key 对?

linux - 在循环中运行命令时更改输出文件名