Можно ли запускать задания пользователей в среде chroot с помощью Slurm - PullRequest
2 голосов
/ 04 ноября 2019

Я использую Slurm. Я хочу, чтобы пользователи имели доступ только к своему собственному каталогу /home/ (или каталогу, в котором они выполняли свою работу), пакетам ubuntu, установленным пользователем sudo, и пользователю двоичных файлов /bin, например: ls, cat, rm и т. Д.

Я не хочу, чтобы каждый пользователь имел read/write доступ к файлам других пользователей и важным файлам, таким как /etc/passwd.

Я заметил, что когда любой slurm-job запускается под новым пользователем, он может read все файлы в корневом каталоге (/), например /etc/passwd.


С начальной точки Можно ли заставить SLURM иметь доступ только к запущенной папке задания и не изменять какой-либо другой файл? ответ, рекомендуется использовать chroot:

Если вы хотите убедиться, что ваша работа не имеет возможности записи вне определенного каталога, вы можете использовать команду chroot в вашем скрипте отправки работы, но это кажется немного странным и менее простым в управлениичем разрешения UNIX.


Системный вызов chroot() изменяет корневой каталог процесса на каталог, указанный путем pathname

Возможно ли запуститьпользовательские задания в среде chroot (chroot()-jailed) с использованием Slurm?


В качестве альтернативного решения я контролировал доступ к файлам через разрешения UNIX, где задание может тольконапишите, где подаете заявкуr имеет разрешение на запись, см. slurm: как отправить работу под другим пользователем и запретить чтение файлов других пользователей?

...