Czy można zainstalować oprogramowanie maszyny wirtualnej jako użytkownik inny niż root i uruchomić go?
Które maszyny wirtualne można zainstalować bez dostępu do konta root?
Jeśli nie jest to możliwe, jakiej najlżejszej maszyny wirtualnej można użyć dla kilku maszyn wirtualnych z systemem Windows XP SP3?
W przypadku KVM potrzebujesz dostępu do urządzenia
/dev/kvm
. Jeśli użytkownik może odczytywać / zapisywać dane na tym urządzeniu, wówczas jako użytkownik można uruchamiać maszyny wirtualne oparte na KVM.W większości dystrybucji członkowie
kvm
grupy mają dostęp do tego urządzenia, więc wszystko, co musisz zrobić, to dodać użytkownika dokvm
grupy.W przypadku większości innych technologii przyspieszonych konieczne będzie załadowanie modułów jądra (w tym virtualbox i VMWare). To prawie na pewno wymaga dostępu na poziomie administratora.
Możesz uruchamiać nieprzyspieszone technologie wirtualizacji jak każdy użytkownik. Na przykład qemu w trybie nieprzyspieszonym. Należy pamiętać, że będzie to bardzo powolne w porównaniu do przyspieszonej wirtualizacji.
źródło
Tryb użytkownika Linux to rozwiązanie do wirtualizacji systemu Linux, które działa całkowicie w przestrzeni użytkownika - nie są wymagane żadne uprawnienia roota.
Może jednak uruchamiać gościa systemu Linux tylko na hoście systemu Linux, więc nie jest odpowiednie, jeśli chcesz uruchomić cokolwiek innego.
źródło
Maszyna wirtualna potrzebuje dość niskiego poziomu dostępu do procesora (i innego sprzętu), aby była wydajna. Dlatego nie zobaczysz żadnego dobrze działającego oprogramowania VM, które można zainstalować bez uprawnień użytkownika root.
W przypadku lekkich maszyn wirtualnych lekkość została osiągnięta jedynie poprzez uwzględnienie potrzebnych funkcji. Wymaga to pewnej wiedzy na temat systemu operacyjnego, który zostanie uruchomiony, dlatego lekkie maszyny wirtualne typu open source ( Plex86 , LilyVM ) obsługują tylko systemy operacyjne typu open source. Zgodnie z tą logiką może być tak, że Microsoft Virtual PC jest lżejszy niż VirtualBox / VMWare / itp. ale tak naprawdę nie wiem. VirtualBox jest dostępny w wersji open source, jest całkiem użyteczny i zawsze był wystarczający do moich celów (ale próbowałem innych).
źródło
Virtualbox 4.0.8 musi być zainstalowany jako root offcourse, ale później możesz pozwolić użytkownikom tworzyć własne maszyny wirtualne. Musisz być tylko członkiem grupy
vboxusers
usermod -G vboxusers USERNAME
Spójrz na ten link , fajny artykuł, jak uruchomić go bez głowy, prosto z powłoki. Naprawdę też kopię, że obsługuje protokół RDP, co oznacza, że możesz po prostu użyć
rdesktop
do połączenia.źródło
QEmu jest w stanie to zrobić. Zrobiłem to kilka razy. Jednak niezbyt wydajne
źródło
1) Odpowiedź trzech linii
Aby użyć moich wstępnie skompilowanych obrazów / skompilowanej wersji qemu, pobierz ją stąd , a następnie rozpakuj:
możesz również pobrać mój obraz debian 8 (1.6G) stąd :
i wreszcie biegnij
Powinieneś mieć działającego Debiana 8, w trybie tekstowym, z portem ssh otwartym w gościu hosta na porcie 22222. Możesz zalogować się przy użyciu użytkownika „root” i hasła „root”.
2) Dłuższa odpowiedź, zrób te zdjęcia samodzielnie
QEMU jest rzeczywiście rozwiązaniem, które pozwala mi zainstalować własny obraz linuksowy na serwerze, na którym nie miałem dostępu do roota. Jest to bardzo przydatne, używam go na przykład do wykonania wstecznego ssh bez ujawnienia mojego głównego hasła użytkownika lub w celach edukacyjnych. Ale rzeczywiście, ponieważ nie można używać KVM do prawdziwej wirtualizacji bez konta root, będziesz mógł wykonywać tylko emulację, co może być dość nieefektywne (ale w przypadku operacji w wierszu poleceń nigdy tak naprawdę nie widziałem narzutu).
2.1) Opakowanie
qemu
Oto opis tego, jak postępuję. Pierwszym krokiem jest uczynienie qemu „przenośnym”, tj. Użytecznym na serwerze bez dostępu do konta root. Aby to zrobić, masz kilka metod, postaram się je przedstawić, abyś mógł wybrać tę, którą wolisz.
2.1.a) Metoda 1: pobierz dostępny plik .deb
To rozwiązanie może być bardzo szybkie do zastosowania (w zasadzie, jeśli działa, wystarczy jedno polecenie), ale ponieważ mój skrypt może być wadliwy / może zapomnieć o lib, ręczne pobranie wszystkich plików binarnych może potrwać dość długo ... inną zaletą tej metody jest to, że można ją uruchomić w trybie innym niż root, bezpośrednio na serwerze. Pomysłem na uzyskanie plików binarnych qemu tutaj jest pobranie pliku .deb / .rpm (z apt lub ze stron internetowych, które obsługują .deb), wypakowanie go, sprawdzenie zależności bibliotek za pomocą
ldd
i pobranie wszystkich.deb
zależności, które są jeszcze nieobecny na komputerze w celu wyodrębnienia ich (.so
plików). Ponieważ może być dość długi i powtarzalny, stworzyłem mały skrypt, ale jeśli jesteś odważny, możesz to wszystko zrobić ręcznie ... To po prostu zajmuje trochę czasu. Aby go użyć, zapisz ten skrypt w plikucreate_qemu_binaries.sh
:i uruchom go za pomocą:
wszystko działa dobrze, na końcu powinieneś mieć w folderze
./qemu_extract/qemu_packed/
jeden plikqemu-system-x86_64
(główny plik binarny), jeden folderlib
(biblioteki, które trzeba zabraćqemu
) i jeden folderpc-bios
, zestaw plików, któreqemu
należy uruchomić. Następnie możesz uruchomićqemu
, używając (nie zapomnij zastąpić obrazem systemu plików):Cieszyć się ! (jeśli skrypt nie działa dla Ciebie, nie wahaj się mnie zapytać, przetestowałem go tylko na dwóch komputerach i wypełnij go do usunięcia,
redir
jeśli nie potrzebujesz przekazywania ssh między hostem a odgadnięciem)2.1.b) Metoda 2: jeśli masz dostęp do komputera z dostępem roota
Pierwsza metoda wymaga komputera z dostępem do katalogu głównego (lub
qemu
zainstalowanego). Najpierw zainstalujqemu
za pomocą czegoś takiegoa następnie zlokalizuj ścieżkę bezwzględną qemu:
Następnie utwórz folder, aby go umieścić:
i pobierz listę bibliotek powiązanych z qemu:
teraz musimy uzyskać użycie BIOS przez qemu. Pliki są dostępne w twoim systemie, ale nie wiem, dlaczego znajdują się w różnych folderach, więc myślę, że łatwiej jest uzyskać je ze źródeł:
Teraz powinno działać, możesz skopiować te pliki na maszynie innej niż root i po prostu uruchomić
qemu
przy użyciu następującego wiersza (nie zapomnij zastąpić obrazu):2.1.c) Metoda 3: ze źródeł
Możesz także skompilować źródła, ale jeśli nie masz zainstalowanych wszystkich bibliotek, może być trudne uniknięcie korzystania z komputera zrootowanego do kompilacji qemu. Ale myślę, że jest to trochę bardziej niezawodne, jeśli powyższe dwie metody nie działają. Następnie po skompilowaniu pobierz plik wykonywalny i wykonaj tę samą sztuczkę, co powyżej, aby uzyskać biblioteki (używając
ldd
, wszystkie biblioteki powinny już znajdować się na komputerze) i plik pc-bios. I ponownie uruchom go za pomocą tego samego polecenia.2.3) Stwórz własny obraz
Jeśli nie chcesz używać gotowego obrazu systemu plików, postępuj zgodnie z licznymi samouczkami, używając powyższych poleceń zamiast
qemu/qemu-system-x86_64
! Uwaga: jeśli chcesz również użyćqemu-img
do tworzenia obrazów jako użytkownik inny niż root, wykonaj ten sam proces, jak powyżej!Cieszyć się !
Uwaga: jeśli chcesz użyć wyświetlania przekleństw, aby uruchomić go na serwerze bez graficznego interfejsu użytkownika, powinieneś dodać do swojego obrazu linię w opcji uruchamiania, aby nie włączała bufora ramek w
/etc/default/grub
:(najważniejszy jest ostatni, nie jestem pewien, czy jest potrzebny). Jak również
dzięki czemu grub pozostanie w trybie tekstowym. Możesz także włączyć tryb tekstowy w systemie, jeśli to nie wystarczy.
źródło