#bash #shell #cluster-computing
#bash #оболочка #кластерные вычисления
Вопрос:
В нашем кластере с установленной пакетной системой PBS (torque) мы хотим, чтобы все пользователи выполняли свои задания с помощью qsub
, чтобы можно было хорошо управлять ресурсами процессора. Однако мы обнаружили, что пользователи в нашем кластере все еще могут запускать свои программы непосредственно в своей оболочке bash.
Я заметил, что некоторые другие кластерные системы ограничивают пользователей в запуске собственного двоичного файла. Их командная строка отличается от полноправной командной строки. (начиная с ~>)
qczhan2@barrine1:~>echo $0
-bash
В своей конфигурации пользователи могут запускать базовые команды, такие как ls
, pwd
cp
и ‘cd’ для системных папок, но когда пользователи запускают свой собственный двоичный файл, система сообщает «разрешение не разрешено». Также необходимо упомянуть, что если кто-то пытается вызвать пользовательский двоичный файл, используя любую mpi
команду, это также запрещено.
Например:
qczhan2@barrine1:~>mpiexec -n 64 ./abc.out
permission denied
где abc.out
— определяемый пользователем двоичный файл.
Мне просто интересно, как настроить систему таким образом?
Комментарии:
1. Я думаю, что это больше подходит для serverfault.com .
2. Я пришел из serverfault из-за отсутствия правильного ответа оттуда. И я думаю, что это должно быть связано с настройкой оболочки, вопросом в stackoverflow
3. Вашему вопросу об ошибке сервера всего 10 часов. Немедленное получение ответа не кажется лучшей причиной для публикации на не соответствующем SE сайте. Если бы это была конфигурация оболочки для вашей личной учетной записи пользователя, я мог бы увидеть вопрос в SO, но желание настроить его для многих пользователей не так сильно в области SO, как я это вижу. В любом случае, я надеюсь, что у кого-то здесь или там есть опыт, чтобы ответить на ваш вопрос.
Ответ №1:
Вы хотите изменить оболочку по умолчанию для всех ваших пользователей с /bin/bash
на:
/bin/bash -r
таким образом, их оболочка становится ограниченной оболочкой. Еще одно ограничение, пользователям не разрешается cd
устанавливать или отменять PATH
или выдавать команды, содержащие /
. Это блокирует их только для выполнения команд, к которым вы предоставляете им доступ.
Комментарии:
1. Но нам нужно разрешить пользователю использовать mkdir и cd в другую папку для управления своими собственными данными, и даже можно разрешить им просматривать системные папки.
Ответ №2:
Если вы используете Linux: смонтируйте файловые системы, в которых пользователи имеют разрешение на запись (например, /home, /tmp, /var/tmp, /dev /shm) с опцией «noexec».
Комментарии:
1. Я попытался смонтировать файловую систему, с которой пользователи должны работать, с опцией «noexec». В результате пользователь не может ни напрямую запускать двоичный файл, ни выполнять двоичный файл через пакетную систему.