VirtualBox no Linux: a mesma máquina virtual em uma pasta compartilhada resulta em um arquivo não acessível toda vez que um usuário salva o estado da máquina

0

Eu criei uma pasta compartilhada em / Users / shared_folder. Eu movi os arquivos de caixa virtual para essa pasta /Users/shared_folder/.VirtualBox VMs/

Eu defini a pasta inteira com todas as permissões: sudo chmod -R 777 shared_folder . Eu mudei para o outro usuário e executei o mesmo comando. Eu também tentei com o seguinte comando como Eu li aqui (sem saber o que eu estava fazendo por sinal): find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Ambos os usuários podem acessar a mesma máquina virtual ... Até que alguns deles salvem o estado da máquina. Então, o outro usuário não pode acessar por causa de permissões de leitura insuficientes.

Como eu poderia compartilhar a mesma máquina virtual com os dois usuários?

    
por chelder 02.07.2016 / 20:39

2 respostas

0

As soluções anteriores não funcionaram para mim.

Eu finalmente decidi criar um disco rígido virtual virtual diferente para cada usuário.

Outra abordagem poderia ser criar um script que verifique se a pasta pertence ao usuário atual. Se não for, altere as permissões antes de abrir o VirtualBox.

Eu escrevi sobre ambas as abordagens aqui: link

    
por 04.09.2016 / 00:10
0

O que está acontecendo é que os arquivos criados, quando o estado da máquina é salvo, recebem as permissões com base no usuário atual. Portanto, todos os outros usuários não poderão usar esses novos arquivos.

Para corrigir isso, você precisa garantir que todos os usuários estejam no mesmo grupo e definir bits adicionais na pasta, o que fará com que todas as pastas / arquivos filhos herdam as mesmas permissões.

(1) Crie um grupo para os usuários compartilharem:

Adicione um grupo, por exemplo:

sudo groupadd vboxsharing

(Note que existe um grupo "vboxusers" já instalado pelo VirtualBox. Ele tem um uso específico, mas você pode usar esse grupo existente em vez de adicionar um novo.)

(2) Adicionar usuários ao grupo:

Os usuários que precisarão acessar as VMs compartilhadas precisam ser adicionados ao grupo:

sudo usermod -a -G vboxsharing <user1>
sudo usermod -a -G vboxsharing <user2>
# ... etc.

NOTA: Como alternativa, você pode definir o grupo como primário para todos esses usuários ( sudo usermod -g vboxsharing <userXYZ> ), o que significa que você pode pular a etapa 3 abaixo. No entanto, isso é um risco de segurança e deve ser evitado.

(3) Novos arquivos do VirtualBox para serem acessados pelo grupo:

Altere a propriedade do grupo da pasta:

sudo chgrp -R vboxsharing /Users/shared_folder

E, defina os bits setuid e setgid , conforme necessário, para garantir que futuros arquivos sejam criados para o grupo.

Portanto, para sua pasta, faça o seguinte:

sudo chmod -R 6770 /Users/shared_folder

O 6, no início dos bits de permissão, é a combinação de setuid e setgid:

  • setuid = 4
  • setgid = 2

Tecnicamente, você NÃO precisa setuid. Portanto, é suficiente ter:

sudo chmod -R 2770 /Users/shared_folder

..

Nota:
E você não precisa desse longo comando find , é um comando para aplicar um conjunto diferente de permissões aos arquivos e um conjunto diferente para as pastas.

    
por 03.07.2016 / 01:17