slurm: Как отправить работу под другим пользователем и запретить чтение файлов других пользователей? - PullRequest
0 голосов
/ 10 мая 2018

На основании следующих потоков ; Я пытаюсь отправить работу под другим пользователем.

Я вошел в систему как main_user, и задания на сланцевую работу передаются через main_user, что может сделать rm -rf /home/main_user, что довольно опасно.

Чтобы предотвратить это, я хочу запустить задание с разрешения другого пользователя в каталоге main_user. Я думаю, что если мне удастся отправить задание через только что созданный user, этот пользователь не сможет изменить ни один из моих файлов, ожидайте, что папка, в которой пользователь выполняет задание.

Создание нового пользователя:

$ sudo useradd -m newuser -d /home/newuser
$ sacctmgr add account newuser --immediate
$ sacctmgr create user newuser  defaultaccount=newuser adminlevel=[None] --immediate

Approach_1: Запуск от имени newUser в каталоге main_user:

$ cd pathToRunMyJob
$ sudo chown -R newuser:newuser .
$ id -u newuser
1004
$ sbatch  --uid=1004 run.sh

Approach_2: выполнение задания в папке вновь созданного пользователя в каталоге home:

$ cd /home/newuser
$ id -u newuser
1004
$ sbatch --uid=1004 run.sh

Но сейчас у меня следующее ожидающее сообщение:

    JOBID PARTITION   NAME     USER ST       TIME  NODES NODELIST(REASON)
      602     debug   run.sh   deneme PD     0:00      1 (launch failed requeued held)

Обновление:

Я пытался отправить работу под другим пользователем, используя комментарий @Dmitri Chubarov: sudo su - newuser ; sbatch run.sh

Это похоже на решение. После того как я сделал sudo su - newuser затем sbatch run.sh, исходный код newuser не позволяет изменять папки других пользователей.


Кроме того, я просто хочу запретить пользователю не иметь доступа к каким-либо важным данным, хранящимся у любого другого пользователя. chmod go-rwx /home/* или chmod 700 ~/* делает папку других пользователей недоступной; это может быть полезным решением?

1 Ответ

0 голосов
/ 06 июня 2018

Но после того, как я запустил sbatch run.sh, я получаю следующее сообщение: Отправлено пакетное задание ***;но отправленное задание не отображается в очереди и задание не запускается в Slurm.

Часто это указывает на то, что newuser неизвестно на вычислительном узле.Вы должны выполнить команду useradd также на всех вычислительных узлах.Но это должно быть ясно из файлов журнала Slurm.

Кроме того, я просто хочу запретить пользователю не иметь доступа к каким-либо важным данным, хранящимся у любого другого пользователя.chmod go-rwx / home / * или chmod 700 ~ / * делает папку других пользователей недоступной;может ли это быть полезным решением?

Да, chmod go-rwx /home/* будет правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...