Можно ли заставить 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.