Como fazer com que o SO convidado siga os links simbólicos da pasta compartilhada

18

Eu tenho o Ubuntu Desktop como meu sistema operacional principal e o Ubuntu Server como meu sistema operacional convidado no VirtualBox 4.2.16.

Criei uma pasta compartilhada chamada / shared e coloquei vários links simbólicos para pastas diferentes no meu sistema operacional principal. Obviamente, meu sistema operacional convidado vê apenas links simbólicos quebrados - porque esses locais existem apenas no sistema operacional principal.

Como posso fazer com que meu SO convidado veja o conteúdo real deles?

Criar outra pasta compartilhada não é uma opção.

dev9
fonte
11
Para sua informação, se o seu host for windows7,8,10, será necessário seguir as instruções na resposta E também iniciar a VM (também conhecida como "executar como administrador"), como visto nesta postagem do blog sobre pastas compartilhadas da VM do convidado linux com links simbólicos em host do windows .
Trevor Boyd Smith

Respostas:

23

É um problema no virtualBox e tem a ver com segurança. Antes da 4.1.8, os links simbólicos funcionavam, mas eram seriamente falhos. E a decisão foi tomada para remover o suporte a links simbólicos.

Veja este comentário :

A criação de links simbólicos de um convidado foi desativada no VirtualBox 4.1.8 por razões de segurança. Um convidado pode criar links simbólicos que apontam para fora do diretório do host designado. Isso não tem nada a ver com qualquer bug ext3 / ext4. E o convidado ainda pode ler os links simbólicos criados no host.

Desculpe pela declaração atrasada.

Se você fizer

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

Em seguida, seu convidado poderá criar links simbólicos novamente. Mas, por razões de segurança (veja acima), isso está desativado por padrão. A correção para evitar links simbólicos perigosos do convidado é muito complicada; portanto, decidimos não permitir que nenhum convidado crie nenhum link simbólico para solucionar o problema de segurança.

(Tomei a liberdade de corrigir um erro no comentário;))

  • e também observe que você precisa reiniciar o vBox para que a alteração seja ativada.
Rinzwind
fonte
Eu executei este comando e reiniciei o VB. A cor do link simbólico mudou, mas agora não consigo nem entrar nele. Eu o vejo quando uso ls, mas o bash parou de me mostrar na TAB.
Dev9 # 11/14
Hmm parece que não é executável?
Rinzwind
Bem, ls me mostra lrwxrwx ---, então deve ficar bem. Quando tento fazer um cd nele, o bash me diz que não existe esse arquivo ou diretório.
Dev9 # 11/14
3
O que é SHARE_NAME? Ninguém explica claramente onde é que vamos conseguir.
Meglio
3
A pasta que você usa para o compartilhamento.
Rinzwind
1

Resposta curta é que não pode ser feito.

O seguinte ticket no virtualbox.org tem alguns esclarecimentos:

Essa alteração é intencional e corrige um problema com a implementação atual de pastas compartilhadas. Para compatibilidade com sistemas operacionais convidados que não têm idéia do que é um link simbólico, ele é interpretado no momento no lado do host, e isso significa que há um comportamento inesperado com sistemas operacionais convidados que sabem o que é um link simbólico (por exemplo, se um link simbólico em uma pasta compartilhada estiver montado em / foo apontaria para / bar / file, é impossível fazer a coisa certa no lado do host).

É claro que pode ser corrigido, mas longe de trivial, pois a separação do processamento de links simbólicos entre o lado do SO convidado e o lado do host precisa ser redesenhada. Isso não pode ser feito rapidamente, portanto, a única opção era desativar a criação de links simbólicos. Muitos usuários / aplicativos foram pegos de surpresa pelo comportamento não padrão.

Fonte

Sylvain Pineau
fonte