沙盒公开可访问GCC
Sandboxing Publicly Accessible GCC
我想为基于linux的web服务添加一个功能,该功能允许不受信任的用户将源代码上传到一个小型C++程序,并将该代码自动保存到服务器上的一个文件中,使用gcc进行编译,然后执行,捕获标准输出。(这与ideone.com、spoj.pl、topcoder.com或许多其他网站没有什么不同。)
我的问题是:
Q1.如何对可执行文件进行沙盒处理,以防止恶意用户试图破坏文件系统或访问网络等?
Q2.是否有一种公平/准确的方式将系统资源分配给进程,例如处理器时间和内存使用情况?
- chroot监狱
- ulimit
- 通过您正在运行的uid将kernel so socket()修补为失败
相关文章:
- GCC 会优化内联访问器吗?
- GCC 允许访问私有静态成员
- 如何使用 gcc 内联汇编器代码访问成员变量
- Clang vs GCC:挥发性访问的不同代码
- 通过指向成员的指针对嵌套访问进行编译时评估期间出现 GCC 错误
- 从成员变量访问静态 constexpr 成员,GCC 错误?
- C++ MSVC 中的访问冲突,但不在 GCC 中进行多重继承和强制转换
- gcc-如何检测基于指针的内存访问
- clang或gcc关于这个内部类成员访问是否正确
- 编译器(GCC)如何处理C 的访问控件
- 在Linux/GCC下,将NULL指针访问转换为C++异常
- gcc是否保证对volatile整数的对齐访问是原子访问
- 沙盒公开可访问GCC
- 为什么gcc在按值传递琐碎结构时会发出不必要的内存访问
- 如何在 CONST 方法中访问类似于 GCC sync_fetch_and_add的 32 位或 64 位整数值?
- Visual Studio 在 vmware 中使用 gcc/gdb 交叉编译 - >内存访问错误
- 在不同优化级别访问gcc/g++中的局部变量与全局变量的速度
- 为什么我不能在gcc中访问前辈模板化成员函数的祖先方法
- 在优化的生成中发现访问冲突,但该冲突未显示在调试生成(gcc)中
- gcc的Bug?模板类中友元函数的访问控制问题