我正在使用Slurm
。我希望用户只能访问他们自己的/home/
(他们执行他们的工作或目录),Ubuntu的由安装包sudo
的用户,和二进制文件的用户/bin
,如:ls
,cat
,rm
等。
我不希望每个用户都可以read/write
访问其他用户的文件和重要文件,例如/etc/passwd
。
我观察到,当任何文件在slurm-job
新用户下运行时,它可以read
在root(/
)目录下的所有文件,例如/etc/passwd
。
从的起点可以强制SLURM只能访问作业的运行文件夹,而不能更改任何其他文件?答案,建议使用chroot
:
如果要确保作业无法在特定目录之外进行写操作,则可以
chroot
在作业提交脚本中使用该命令,但这看起来有些奇怪,并且比UNIX权限更难管理。
该
chroot()
系统调用改变进程的根目录由路径名指定的目录
是否可以在chroot环境(chroot()-jailed
)中运行用户的作业Slurm
?
作为一种替代解决方案,我控制了文件访问是通过UNIX权限进行的,其中作业只能在提交用户具有写入权限的地方进行写入,请参阅: slurm:如何在另一个用户下提交作业并防止读取其他用户文件?