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

Я заметил, что когда я запускаю задание SLURM, оно может создавать файлы по другим путям к папкам, а также может удалять их. Кажется опасным, что с помощью задания SLURM они могут получить доступ к другим папкам / файлам и внести в них изменения.

$ sbatch run.sh

run.sh:

#!/bin/bash
#SBATCH -o slurm.out        # STDOUT
#SBATCH -e slurm.err        # STDERR

echo hello > /home/avatar/completed.txt
rm /home/avatar/completed.txt

[Q] Можно ли заставить SLURM иметь доступ только к своей собственной рабочей папке, а не к другим?

1 ответ

Решение

Доступ к файлам контролируется через разрешения UNIX, поэтому задание может писать только тогда, когда отправляющий пользователь имеет право на запись. И чаще всего заданию нужно будет читать и записывать из нескольких отдельных каталогов в разных файловых системах (домашняя NFS для файлов конфигурации и результатов, чистая параллельная файловая система для промежуточных данных и входных данных и т. Д.), Поэтому Slurm не должен ограничивать работу в каталоге подачи.

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

Другие вопросы по тегам