我在用着Slurm
。我希望用户只访问他们自己的/home/
目录(或他们执行作业的目录)、用户安装的 ubuntu 软件包sudo
以及二进制文件 user /bin
,例如:ls
、cat
等rm
。
我不希望每个用户都可以read/write
访问其他用户的文件和重要文件,例如/etc/passwd
.
我观察到,当任何slurm-job
在新用户下运行时,它可以访问read
root ( /
) 目录下的所有文件,例如/etc/passwd
.
从答案的出发点是否可以强制 SLURM 只能访问作业的运行文件夹而不更改任何其他文件?,建议使用chroot
:
如果您想确保您的作业无法在特定目录之外进行写入,您可以
chroot
在作业提交脚本中使用该命令,但这似乎有点奇怪,而且不像 UNIX 权限那样容易管理。
系统
chroot()
调用将进程的根目录更改为pathname指定的目录
是否可以chroot()-jailed
使用 chroot 环境 ( )运行用户的作业Slurm
?
作为替代解决方案,我通过 UNIX 权限控制文件访问,其中作业只能写入提交用户有权写入的位置,请参阅: slurm:如何在另一个用户下提交作业并防止读取其他用户的文件?