Как генерировать настроенные sudoers файлы в марионетке в зависимости от среды, на которой они развертываются?

Это было некоторое время, так как я задал этот вопрос, таким образом, я думал, что упомяну решение, которое мы в конечном счете использовали.

Угон локального X экранов

В конце я просто запустил удаленные opengl программы на сервере, локальном X экранов. Машина выполняла выпуск сервера Ubuntu, и это не выполняло xserver быть значением по умолчанию, таким образом, я должен был настроить xserver для выполнения при запуске (я просто установил настольный человечностью пакет Ubuntu, уничтожив москита с кувалдой), и затем предоставил мне доступ к X экранам с помощью этих команд в качестве корня: "экспорт ОТОБРАЖАЕТСЯ =:0.0; xhost + локальный":. затем я мог ssh в машину, назвать "экспорт, ОТОБРАЖАЮТ =:0.0" и затем запускают мои opengl программы как нормальные. Любой сидящий в удаленной машине видел бы, что окно раскрывается и следит за моим выполнением программы, но нам не подключили монитор, таким образом, это не было проблемой.

Важно использовать некоторую форму внеэкранного рендеринга, потому что чтение пикселей непосредственно от экранного цветного буфера могло привести к данным мусора, если окно становится затененным другим окном. Так как Вы не видите эти X экранов, трудно знать, произошло ли это. Вне экрана рендеринг (например, объекты Кадрового буфера (fbo) или pbuffers) не имеет этой проблемы.

Угон локального Xscreen сервера не является идеальным решением, таким образом, вот несколько альтернатив, которые я нашел по пути:

Виртуальные кадровые буферы

Xvfb является опцией, но он не работал на меня, потому что OpenGL не извлекал выгоду из аппаратного ускорения, и объекты кадрового буфера не поддерживались, которые необходимы для совместимости CUDA с OpenGL. Тем не менее, это могло бы быть осуществимой опцией, где угон локального экрана не приемлем, или где пользователь не может получить xhost права.

VirtualGL

С веб-сайта VirtualGL:

VirtualGL является пакетом с открытым исходным кодом, который дает любому Unix или Linux удаленное программное обеспечение дисплея способность запустить приложения OpenGL с полным 3D аппаратным ускорением.

Это точно, что я хочу, и это выглядит очень перспективным, но у меня не было времени для контакта с новой зависимостью библиотеки, таким образом, я не протестировал его. Мое предположение - то, что это - идеальное решение, после того как я мог скомпилировать его, установленный и настроенный. Это - то, что VirtualBox и некоторые серверы VNC используют для поддержки, аппаратно ускоренной 3D.

3
задан 6 December 2012 в 20:25
3 ответа

Какая версия sudo? Поддерживает ли ваша версия sudo использование параметра #includedir , чтобы разбить все на каталог фрагментов /etc/sudoers.d/ ?

Если да, то я предлагаю вам использовать это функциональность для построения вашей конфигурации.

Доставьте ваш основной файл конфигурации в / etc / sudoers , который включает все настройки, общие для каждого хоста, которым вы управляете. Затем добавьте конфигурацию для конкретной роли в файл в пределах /etc/sudoers.d/ .

Каждый класс или секция марионетки отвечает за обновление небольшой части конфигурации sudo, непосредственно связанной с этим классом .

9
ответ дан 3 December 2019 в 04:42

Вы можете использовать шаблоны Puppet ... Конфигурация для конкретного сайта с небольшим фрагментом / переменной ruby ​​для нужного пользователя. (Пример я опубликую позже)

Традиционный способ справиться с этим - использовать определения групп вместо именованных пользователей в вашем / etc / sudoers . Управлять этим может быть проще.

2
ответ дан 3 December 2019 в 04:42

посмотреть на виртуальные ресурсы и понять - http: // docs. puppetlabs.com/guides/virtual_resources.html - это именно то, что нужно - в некоторых системах вы «понимаете» ресурс, а в некоторых - нет.

3
ответ дан 3 December 2019 в 04:42

Теги

Похожие вопросы