Название как бы говорит само за себя ...
Мы используем SGE / OGE для отправки заданий набору рабочих узлов, которые затем работают с определенными частями оборудования. Созданные программы и сценарии, управляющие этим оборудованием, работают от имени пользователя root. Я бы хотел, чтобы SGE обрабатывал распределение ресурсов с учетом пользователей, групп, проектов и т. Д., Но мне также нужны фактические задания для запуска с правами root.
Я прочитал Как можно запустить сценарий пролога от имени пользователя root в gridengine? чтобы увидеть, есть ли что-нибудь уместное, но похоже, что SGE предоставляет спецификацию типа "user @" специально для действий пролога и эпилога. Есть ли аналогичный функционал для самой работы?
Я знаю о подходах su / sudo, но они не будут работать в этой среде, потому что файл sudoers не управляется глобально (т.е. мне пришлось бы добавить целый набор пользователей в / etc / sudoers на многих машины). В настоящее время я ищу решение типа setuid, но это определенно будет ненужным способом обхода, если SGE предоставит мне способ объявить, что конкретное задание (или задания в определенной очереди) всегда должно выполняться с права конкретного пользователя.
Gridengine, похоже, не предоставляет никаких средств для запуска настройки конкретного задания для запуска от имени пользователя root или любого другого пользователя.
Я могу увидеть, как это реализуется, если вы создали отдельную очередь и установили в оболочке этой очереди команду, запускающую оболочку от имени пользователя root. Затем вам нужно будет создать принудительный комплекс для этой очереди, чтобы предотвратить выполнение в ней других заданий, а также заданий, которые вы делать хотите запустить в нем пришлось бы запросить этот комплекс.