我正在运行一个小型的ubuntu集群与8个人电脑。普通用户不应能够访问个人电脑。他们只能通过qsub提交计算任务。
此外,常规用户应该能够访问集群上的存储。理想情况下,普通用户不应该看到他/她的文件在个人电脑上的位置。他应该将集群看作一个单一的存储位置。他应该只能访问他的文件。
此外,为特定用户运行的进程应该能够访问该用户的文件。
我怎么才能做到这一切?
现在,集群运行在Ubuntu上,具有torque + maui。它有几个问题我需要解决。其中之一是用户可以将ssh发送到单个PC并在那里运行进程,从而违反了队列。
我对linux和集群很陌生,所以尽量给出一个介绍性的答案。此外,关于这些主题的无意义教程的链接也会有所帮助。
发布于 2014-03-07 08:55:30
您可以明确禁止为普通用户运行某些程序(但是,如果您禁止make、gcc等,他们可能仍然能够运行某种解释语言)。
更好的方法是使用cgroups (在2.6.29中引入linux内核--您的内核应该支持它们)或一些轻度虚拟化(lxc-容器)。
请参阅:https://wiki.archlinux.org/index.php/cgroups
使用cgroups,您可以将用户限制为1个CPU (甚至更少)和50 if内存,这将允许用户使用ssh访问,但不会真正运行昂贵的计算(如果用户超过限制,进程将被终止)。
https://askubuntu.com/questions/414530
复制相似问题