A maneira como lidei com essa situação é garantir que todos os hosts tenham acesso ao local comum onde estão os arquivos. Existem dois cenários a considerar; Eu mencionarei as permissões de arquivo no segundo.
Um cenário de usuário: o sistema operacional do host executa o virtualbox com o nome da sua conta. Os sistemas convidados (VMs) estão acessando a pasta compartilhada as if
era um compartilhamento de rede montado da maneira usual para cada VM. Portanto, para cada VM, você precisa configurar em Settings - Shared Folders
o caminho para apontar para o mesmo local no host. Para cada um dos seus convidados, será um compartilhamento de rede montado na inicialização (se você selecionou Auto-mount
). Para o seu host (Mac), será o caminho local que você inseriu no Shared Folders
. Você deve conseguir acessar os arquivos, pois todas as VMs estão sendo executadas na sua conta. A situação fica mais complicada se você tiver várias pessoas acessando seu Mac e quiser que todas elas possam executar VMs e acessar os mesmos arquivos.
Cenário multiusuário: Como tenho vários usuários que podem executar o virtualbox em minha máquina Linux principal e quero que todos acessem os arquivos, usei permissões de grupo comuns, que o Mac também possui. Como qualquer sistema Unix o Mac também possui o diretório /home
, exceto por você, ele será chamado /Users
. Eu coloquei as imagens da VM em um diretório chamado VM em / home. Então, certifiquei-me de que as imagens tivessem permissões de grupo que permitissem que todos os meus usuários executassem VMs e eu testei isso é possível. A configuração do Virtualbox no Linux cria um grupo chamado vboxusers
e eu usei esse grupo e certifiquei-me de que todos os que executassem VMs estivessem nesse grupo. Em seguida, criei o diretório /home/VM/folder_share
e verifiquei se ele tinha permissões de rw nesse diretório para o grupo vboxusers
. Por fim, certifiquei-me de que todas as VMs convidadas tivessem o caminho da pasta compartilhada para apontar para /home/VM/folder_share
e testadas - ela funciona muito bem.
Você não precisa criar essa pasta compartilhada em /Users
- você pode fazer isso em outro lugar, basta garantir que as permissões funcionem. Como minha cabeça é muitas vezes tão cheia de outras coisas que eu pensei home
- o equivalente de Usuários do Linux é útil porque é lógico e porque eu tenho /home
em uma partição de disco separada que é deixada intacta se eu tiver que reinstalar o sistema .
Se você não tiver certeza sobre as permissões de arquivo - a maneira mais fácil é alterá-las via terminal link fique à vontade para perguntar sobre a estrutura de permissão; é fácil ficar atolado se você também precisa pensar sobre as ACLs - meu conselho seria - se você puder sair em sua situação com permissões comuns do Unix como visto em ls -l
- faça isso. No Linux, eu uso apenas ACLs muito raramente - ele pode introduzir uma complexidade desnecessária.