Назад | Перейти на главную страницу

запретить обычным пользователям запускать код в кластере вне системы pbs

В нашем кластере с установленной системой пакетной обработки PBS (крутящий момент) мы хотим, чтобы все пользователи выполняли свои задания с помощью qsub, чтобы можно было хорошо управлять ресурсами ЦП. Однако выяснилось, что пользователи в нашем кластере все еще могут напрямую запускать свои программы прямо в оболочке bash.

Я заметил, что в некоторых других кластерных системах пользователи не могут запускать свои собственные двоичные файлы. их командная строка отличается от полной привилегированной командной строки. (начиная с ~>)

qczhan2@barrine1:~>echo $0
-bash

В своих настройках пользователи могут запускать основные команды, такие как ls, pwd, cp и cd, но когда usrs запускают свой собственный двоичный файл, система напоминает «разрешение не разрешено».

Мне просто интересно, как настроить систему таким образом?

Большое спасибо.

Обновить: ? Я пытался:

(а) монтирование файловой системы с параметром noexec, но этот метод также не позволяет пользователю запускать свой двоичный файл из pbs.

(б) использование ограниченного bash, но этот метод даже не позволяет пользователю использовать команду «cd».

Проблема с управлением кластером в том, что вы всегда найдете кого-нибудь, кто захочет обмануть систему. Подотчетность может иметь большое значение для изменения поведения. Возможно, вам придется подумать об изменении приоритета в очереди или отмене доступа для проблемных пользователей.

Монтирование домой как noexec кажется неплохой идеей, но это не удастся, если у вас нет централизованно управляемого набора установленных программ. Я предполагаю, что пользователи входят в узлы и выполняют команды в интерактивном режиме. Быстрый поиск в Google показывает модуль Torque PAM, который может быть использован для ограничения доступа к узлу для пользователей, чьи задания в настоящее время находятся на этом узле. В этом случае они будут красть CPU у себя. Вы также можете запретить ssh-доступ к вычислительным узлам с головного узла, но вам все равно нужно будет разрешить ssh между узлами.

Если вы имеете дело с одной большой машиной или одним кластером образа системы, вы можете что-то сделать с ограничениями ЦП. Вам нужно будет назначить небольшой мягкий предел и разумный жесткий предел времени процессора. Затем необходимо изменить профиль bash в / etc, чтобы найти переменную среды PBS, установленную Torque, и увеличить мягкий предел пользователя, чтобы он соответствовал жесткому пределу. Конечно, пользователи могут увеличить свои мягкие лимиты и при этом обмануть систему.

Немного творчества в написании сценариев может иметь большое значение, но всегда полезно иметь набор политик, на которые можно указывать, когда пользователи жалуются. Если вы можете идентифицировать нарушающие процессы с помощью сценария, вы всегда можете убить их или исправить с помощью задания cron. Удачи