Можно ли установить какое-либо программное обеспечение виртуальной машины как пользователь без полномочий root и запустить его?
Какие виртуальные машины можно установить без необходимости root-доступа?
Если это невозможно, какую виртуальную машину легче всего использовать для нескольких виртуальных машин под управлением Windows XP SP3?
Для KVM вам нужен доступ к устройству
/dev/kvm
. Если ваш пользователь может читать и писать на этом устройстве, вы можете запускать виртуальные машины на основе KVM в качестве пользователя.В большинстве дистрибутивов участники
kvm
группы имеют доступ к этому устройству, поэтому все, что вам нужно сделать, это добавить своего пользователя вkvm
группу.Для большинства других ускоренных технологий вам понадобятся загруженные модули ядра (в том числе virtualbox и VMWare). Это почти наверняка требует доступа на уровне root.
Вы можете запускать технологии неускоренной виртуализации как любой пользователь. Например, qemu в неускоренном режиме. Имейте в виду, что это будет очень медленно по сравнению с ускоренной виртуализацией.
источник
Пользовательский режим Linux - это решение для виртуализации Linux, которое работает полностью в пространстве пользователя - никаких привилегий root не требуется.
Однако он может запускать гостевую систему Linux только на хосте Linux, поэтому он не подходит, если вы хотите запустить что-нибудь еще.
источник
Виртуальная машина нуждается в достаточно низкоуровневом доступе к процессору (и другому оборудованию), чтобы быть эффективной. Поэтому вы не увидите ни одного хорошо работающего программного обеспечения для виртуальных машин, которое можно установить без полномочий root.
Что касается легких виртуальных машин, легкость достигается только за счет включения необходимых функций. Это требует определенных знаний об ОС, которая будет работать, и поэтому облегченные виртуальные машины с открытым исходным кодом ( Plex86 , LilyVM ) поддерживают только операционные системы с открытым исходным кодом. По этой логике может показаться, что Microsoft Virtual PC легче, чем VirtualBox / VMWare / и т. Д. но я действительно не знаю VirtualBox доступен с открытым исходным кодом, вполне пригоден для использования и всегда был достаточен для моих целей (но я пробовал другие).
источник
Virtualbox 4.0.8 должен быть установлен как рут-доступ, но после этого вы можете позволить пользователям создавать собственные виртуальные машины. Вы просто должны быть членом группы
vboxusers
usermod -G vboxusers USERNAME
Посмотрите на эту ссылку , хорошая статья, как запустить ее без головы, прямо из оболочки. Я также действительно понимаю, что он поддерживает протокол RDP, то есть вы можете просто использовать его
rdesktop
для подключения.источник
QEmu может сделать это. Я делал это несколько раз. Не очень производительный, хотя
источник
1) Ответ на три строки
Чтобы использовать мои готовые изображения / скомпилированную версию qemu, загрузите ее отсюда , а затем распакуйте:
Вы также можете скачать мое изображение Debian 8 (1.6G) отсюда :
и, наконец, запустить
У вас должен быть работающий Debian 8, в текстовом режиме, с открытым портом ssh в гостевой системе на порту 22222. Вы можете войти, используя пользователя «root» и пароль «root».
2) Более длинный ответ, сделайте эти изображения самостоятельно
QEMU - это действительно решение, которое позволяет мне устанавливать мой собственный образ linux на сервер, на котором у меня нет прав root. Это очень полезно, я использую его, например, для обратного ssh без раскрытия моего основного пароля пользователя или для образовательных целей. Но на самом деле, поскольку вы не можете использовать KVM для реальной виртуализации без учетной записи root, вы сможете выполнять только эмуляцию, которая может быть довольно неэффективной (но для операций из командной строки я никогда не видел издержек).
2.1) Пакет
qemu
Вот описание того, как я продолжаю. Первый шаг - сделать qemu «переносимым», то есть используемым на сервере без корневого доступа. Для этого у вас есть несколько методов, я постараюсь представить их, чтобы вы могли выбрать тот, который вы предпочитаете.
2.1.a) Метод 1: скачать доступный .deb
Это решение может быть очень быстро применено (в основном, если оно работает, в 1 команде вы получаете его), но поскольку мой скрипт может содержать ошибки / может забыть некоторую библиотеку, может быть довольно долго загружать все двоичные файлы вручную ... Другое преимущество этого метода заключается в том, что вы можете запустить его в режиме без полномочий root прямо на сервере. Идея получить двоичные файлы qemu заключается в том, чтобы получить файл .deb / .rpm (из apt или с веб-сайтов, на которых размещен .deb), извлечь его, проверить с помощью зависимостей библиотек
ldd
и загрузить все.deb
зависимости, которые отсутствует на компьютере для их извлечения (.so
файлы). Поскольку он может быть довольно длинным и повторяющимся, я создал небольшой сценарий, но если вы смелы, вы можете сделать все это вручную ... Это займет время. Чтобы использовать его, сохраните этот скрипт в файлcreate_qemu_binaries.sh
:и запустите его, используя:
все работает нормально, в конце вы должны иметь в папке
./qemu_extract/qemu_packed/
один файлqemu-system-x86_64
(основной бинарный файл), одну папкуlib
(библиотеки, которые нужно взять с собойqemu
) и одну папкуpc-bios
, набор файлов, которыеqemu
необходимо запустить. Затем вы можете запуститьqemu
с помощью (не забудьте заменить на образ вашей файловой системы):Наслаждайтесь ! (если сценарий не работает для вас, не стесняйтесь спрашивать меня, я протестировал его только на двух компьютерах и
redir
могу удалить, если вам не нужна пересылка ssh между хостом и предположением)2.1.b) Способ 2: если вы получаете доступ к компьютеру с root-доступом
Первому способу нужен компьютер с root-доступом (или
qemu
установлен). Сначала установитеqemu
что-то вродеа затем найдите абсолютный путь к QEMU:
Затем создайте папку для ее размещения:
и получите список библиотек, связанных с qemu:
Теперь нам нужно использовать BIOS для qemu. Файлы доступны в вашей системе, но я не знаю, почему они находятся в разных папках, поэтому я думаю, что проще получить их из источников:
Теперь это должно работать, вы можете скопировать эти файлы на компьютер без полномочий root и просто запустить,
qemu
используя следующую строку (не забудьте заменить изображение):2.1.c) Метод 3: из источников
Вы также можете скомпилировать исходники, но если у вас не установлены все библиотеки, может быть сложно избежать использования корневого компьютера для компиляции qemu. Но я думаю, что это немного более надежно, если вышеупомянутые два метода не работают. Затем, после его компиляции, получите исполняемый файл и проделайте тот же трюк, что и выше, чтобы получить библиотеки (используя
ldd
все библиотеки должны быть уже на компьютере) и файл pc-bios. И снова, запустите его с той же командой.2.3) Создайте свой собственный образ
Если вы не хотите использовать готовый образ файловой системы, просто следуйте многочисленным учебникам, используя приведенные выше команды вместо
qemu/qemu-system-x86_64
! Примечание: если вы также хотите использоватьqemu-img
для создания изображений без полномочий root, выполните тот же процесс, что и выше!Наслаждайтесь !
NB: если вы хотите использовать отображение curses для запуска его на сервере без графического интерфейса, вы должны добавить в свой образ строку в параметре загрузки, чтобы он не включал буфер кадров в
/etc/default/grub
:(самое важное - последнее, я не уверен, нужно ли это). Также как и
так, чтобы grub оставался в текстовом режиме. Вы также можете включить текстовый режим в systemd, если этого недостаточно.
источник