É possível instalar qualquer software de máquina virtual como usuário não root e executá-lo?
Quais VMs são possíveis de serem instaladas sem a necessidade de acesso root?
Se não for possível, qual seria a máquina virtual mais leve a ser usada em algumas janelas com VM xp sp3?
Para o KVM , você precisa de acesso ao dispositivo
/dev/kvm
. Se seu usuário puder ler / gravar neste dispositivo, você poderá executar máquinas virtuais baseadas em KVM como seu usuário.Na maioria das distribuições, os membros do
kvm
grupo têm acesso a esse dispositivo, portanto, tudo que você precisa fazer é adicionar seu usuário aokvm
grupo.Para a maioria das outras tecnologias aceleradas, você precisará carregar os módulos do kernel (isso inclui o virtualbox e o VMWare). Isso quase certamente requer acesso no nível raiz.
Você pode executar tecnologias de virtualização não aceleradas como qualquer usuário. Por exemplo, qemu no modo não acelerado. Esteja ciente de que será muito lento se comparado à virtualização acelerada.
fonte
Modo de usuário O Linux é uma solução de virtualização do Linux que roda inteiramente no espaço do usuário - sem privilégios de root.
No entanto, ele só pode executar um convidado Linux em um host Linux; portanto, não é adequado se você deseja executar qualquer outra coisa.
fonte
Uma máquina virtual precisa de acesso de nível bastante baixo ao processador (e outro hardware) para ser eficiente. Portanto, você não verá nenhum software VM com bom desempenho que possa ser instalado não raiz.
Quanto às máquinas virtuais leves, a leveza é alcançada incluindo apenas os recursos necessários. Isso requer algum conhecimento sobre o sistema operacional que será executado e, portanto, as VMs leves de código aberto ( Plex86 , LilyVM ) suportam apenas sistemas operacionais de código aberto. Por essa lógica, pode ser que o Microsoft Virtual PC seja mais leve que o VirtualBox / VMWare / etc. mas eu realmente não sei. O VirtualBox está disponível em código aberto, é bastante utilizável e sempre foi suficiente para meus propósitos (mas tentei outros).
fonte
O Virtualbox 4.0.8 precisa ser instalado como curso raiz, mas depois você pode permitir que os usuários façam suas próprias VMs. Você só precisa ser um membro do grupo
vboxusers
usermod -G vboxusers USERNAME
Dê uma olhada neste link , bom artigo sobre como executá-lo sem cabeça, direto do shell. Eu também gosto muito de que ele suporta o protocolo RDP, o que significa que você pode apenas usar
rdesktop
para se conectar.fonte
QEmu é capaz de fazer isso. Eu já fiz isso várias vezes. Embora não seja extremamente eficiente
fonte
1) Resposta de três linhas
Para usar minhas imagens pré-construídas / versão compilada do qemu, faça o download aqui e descompacte-o:
você também pode baixar minha imagem do debian 8 (1.6G) aqui :
e finalmente corra
Você deve ter um Debian 8 funcionando, no modo de texto, com a porta ssh aberta no host host na porta 22222. Você pode efetuar logon usando o usuário "root" e a senha "root".
2) Resposta mais longa, faça essas imagens sozinho
O QEMU é realmente uma solução que me permite instalar minha própria imagem linux em um servidor no qual eu não tinha acesso root. É muito útil, eu o uso, por exemplo, para reverter ssh sem revelar minha senha de usuário principal ou para fins educacionais. Mas, de fato, como você não pode usar o KVM para virtualização real sem uma conta raiz, poderá fazer apenas emulação, o que pode ser bastante ineficiente (mas para operações de linha de comando, eu nunca vi a sobrecarga).
2.1) Pacote
qemu
Aqui está a descrição de como proceder. O primeiro passo é tornar o qemu "portátil", ou seja, utilizável no servidor sem acesso root. Para fazer isso, você tem vários métodos, tentarei apresentá-los para que você possa escolher o que preferir.
2.1.a) Método 1: baixe o arquivo .deb disponível
Esta solução pode ser muito rápida de aplicar (basicamente, se funcionar, em 1 comando você a obtém), mas como meu script pode estar com erros / esquecer algumas lib, pode demorar bastante para baixar manualmente todos os binários ... Outra vantagem desse método é que você pode executá-lo no modo não raiz, diretamente no servidor. A idéia de obter os binários do qemu aqui é obter o arquivo .deb / .rpm (do apt ou dos sites online que hospedam o .deb), extraí-lo, verificar as dependências das bibliotecas usando
ldd
e fazer o download de todas.deb
as dependências que estão disponíveis. ainda não está presente no computador para extraí-los (os.so
arquivos). Como pode ser bastante longo e repetitivo, criei um pequeno script, mas se você for corajoso, poderá fazer tudo isso manualmente ... Isso leva tempo. Para usá-lo, salve este script em um arquivocreate_qemu_binaries.sh
:e execute-o usando:
tudo funciona bem; no final, você deve ter na pasta
./qemu_extract/qemu_packed/
um arquivoqemu-system-x86_64
(o binário principal), uma pastalib
(as bibliotecas que precisam ser usadasqemu
) e uma pastapc-bios
, um conjunto de arquivos queqemu
precisam ser executados. Você pode executarqemu
usando (não se esqueça de substituir com a imagem do sistema de arquivos):Desfrutar ! (se o script não funcionar para você, não hesite em me perguntar, testei-o apenas em dois computadores e preencha-o gratuitamente para remover
redir
se você não precisar de encaminhamento ssh entre o host e o palpite)2.1.b) Método 2: se você acessar um computador com acesso root
O primeiro método precisa de um computador com acesso root (ou
qemu
instalado). Primeiro instaleqemu
usando algo comoe localize o caminho absoluto do qemu:
Em seguida, crie uma pasta para colocá-lo:
e obtenha a lista de bibliotecas vinculadas ao qemu:
agora, precisamos usar o BIOS pelo qemu. Os arquivos estão disponíveis no seu sistema, mas não sei por que eles estão em pastas diferentes, por isso acho mais fácil obtê-los nas fontes:
Agora, deve funcionar, você pode copiar esses arquivos na máquina não raiz e apenas executar
qemu
usando a seguinte linha (não se esqueça de substituir a imagem):2.1.c) Método 3: das fontes
Você também pode compilar as fontes, mas se você não tiver todas as bibliotecas instaladas, pode ser complicado evitar o uso de um computador raiz para compilar o qemu. Mas acho que é um pouco mais confiável se os dois métodos acima não funcionarem. Em seguida, uma vez compilado, obtenha o arquivo executável e faça o mesmo truque acima para obter as bibliotecas (usando
ldd
, todas as bibliotecas já devem estar no computador) e o arquivo pc-bios. E, novamente, execute-o com o mesmo comando.2.3) Crie sua própria imagem
Se você não quiser usar uma imagem de sistema de arquivos pré-criada, siga os vários tutoriais usando os comandos acima no lugar de
qemu/qemu-system-x86_64
! Nota: se você também desejaqemu-img
criar imagens como não raiz, siga o mesmo processo acima!Desfrutar !
Nota: se você quiser usar a exibição de maldições para executá-la em um servidor sem GUI, adicione à sua imagem uma linha na opção de inicialização para que não ative o buffer de quadros em
/etc/default/grub
:(o mais importante é o último, não tenho certeza se é necessário). Assim como
para que o grub permaneça no modo de texto. Você também pode ativar o modo de texto no systemd, se não for suficiente.
fonte