【发布时间】:2012-04-10 07:34:34
【问题描述】:
喂。
我正在进行一项实验,允许用户使用我 1% 的 CPU。这就像你自己的网络服务器;但是一个大的动态远程执行框架(不要问这个),我不希望用户使用 API 函数,如创建文件、没有套接字、没有线程、没有控制台输出,什么都没有。
更新1:人们会向我发送二进制文件,所以interrupt 0x80 是可能的。因此...内核?
我需要限制一个进程,使它只能使用一个单管道。通过该管道,该过程将使用我自己封装和控制的 API。
这可能吗?我想像一个 Linux 内核模块。
限制 RAM 和 CPU 的问题在这里不是主要问题,因为在 google 上有一些东西。
提前致谢!
【问题讨论】:
-
你会编译程序,还是用户会向你发送二进制文件?
-
听起来你在找ptrace。
-
您可以使用 chroot 来限制对文件系统其余部分的访问。但是要限制诸如套接字创建之类的东西,您可能必须推出自己的 libc 或至少包装 libc/glibc 以施加限制。
-
@GregHewgill 你能写一个答案吗?看起来是我想要的。维基百科声明它可以监控它做了什么。也可以限制吗?
-
嗯,也许打开管道然后启用 seccomp?
标签: linux permissions linux-kernel pipe restriction