如何禁用给定用户的某些系统调用?

rig*_*old 4 linux chroot users privileges

我正在创建一个类似于键盘的网络应用程序,并且对于每个运行操作,我的应用程序将一个目录 ( /home/radeks/voidptr/private/chroot-root)复制到/tmp/voidptr/[random-id]/chroot-root. 这个 chroot 目录有一个用户编译和运行 web 应用程序用户输入的代码。问题是我不希望用户关闭机器或使用套接字。

我需要写一个主管还是我可以简单地为每个用户设置这些权限?

Gil*_*il' 6

Chroot 只限制文件系统访问。如果您有 root 权限,chroot 只是一种不便,而不是安全的限制。普通用户可以使用sockets但不能关闭机器。

有多种方法可以限制用户可以做什么:功能、AppArmor、SELinux ……但到目前为止,最简单的方法是将 webapp 用户限制在虚拟机中。您将能够轻松限制网络连接和资源使用等内容。对于您的用例,轻量级 Linux-on-Linux vm 技术似乎是最好的:例如OpenVZ用户模式 ​​LinuxVserver