Comment faire pour que le SE invité suive les liens symboliques à partir du dossier partagé

18

J'ai Ubuntu Desktop comme OS principal et Ubuntu Server comme OS invité dans VirtualBox 4.2.16.

J'ai créé un dossier partagé appelé / shared et y ai mis plusieurs liens symboliques vers différents dossiers de mon système d'exploitation principal. Bien sûr, mon système d'exploitation invité ne voit que des liens symboliques rompus, car ces emplacements n'existent que dans le système d'exploitation principal.

Comment puis-je faire en sorte que mon OS invité en voit le contenu réel?

La création d'un autre dossier partagé n'est pas une option.

dev9
la source
1
Pour info si votre hôte est windows7,8,10 alors vous devez suivre les instructions dans la réponse ET puis aussi démarrer sudo la VM (alias "exécuter en tant qu'administrateur") comme on le voit dans ce billet de blog sur les dossiers partagés de linux invité VM avec des liens symboliques sur hôte Windows .
Trevor Boyd Smith

Réponses:

23

C'est un problème dans virtualBox et a à voir avec la sécurité. Avant la 4.1.8, les liens symboliques fonctionnaient mais étaient sérieusement défectueux. Et la décision a été prise de supprimer le support du lien symbolique.

Voir ce commentaire :

La création de liens symboliques à partir d'un invité a été désactivée dans VirtualBox 4.1.8 pour des raisons de sécurité. Un invité peut créer des liens symboliques qui pointent en dehors du répertoire hôte attribué. Cela n'a rien à voir avec un bug ext3 / ext4. Et l'invité est toujours capable de lire les liens symboliques qui sont créés sur l'hôte.

Désolé pour la déclaration tardive.

Si tu fais

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

Ensuite, votre invité pourra à nouveau créer des liens symboliques. Mais pour des raisons de sécurité (voir ci-dessus), cette option est désactivée par défaut. Le correctif pour empêcher les liens symboliques dangereux de l'invité est très compliqué, nous avons donc décidé de ne permettre à aucun invité de créer un lien symbolique pour contourner le problème de sécurité.

(J'ai pris la liberté de corriger un bug dans le commentaire;))

  • et notez également que vous devez redémarrer vBox pour que la modification soit activée.
Rinzwind
la source
J'ai exécuté cette commande et redémarré VB. La couleur du lien symbolique a changé, mais maintenant je ne peux même plus y entrer. Je le vois quand j'utilise ls, mais bash a cessé de me le montrer sur TAB.
dev9
Hmm sonne comme si ce n'était pas exécutable?
Rinzwind
Eh bien, ls me montre lrwxrwx ---, donc ça devrait aller. Lorsque j'essaye d'y insérer un CD, bash ne me dit aucun fichier ou répertoire de ce type.
dev9
3
Qu'est-ce que SHARE_NAME? Personne ne l'explique clairement où l'obtenir.
Meglio
3
Le dossier que vous utilisez pour le partage.
Rinzwind
1

La réponse courte est que cela ne peut pas être fait.

Le ticket suivant sur virtualbox.org a quelques éclaircissements:

Cette modification est intentionnelle et résout un problème avec l'implémentation actuelle des dossiers partagés. Pour la compatibilité avec les OS invités qui n'ont aucune idée de ce qu'est un lien symbolique, il est actuellement interprété du côté hôte, et cela signifie que l'on obtient un comportement inattendu avec les OS invités qui savent ce qu'est un lien symbolique (par exemple, si un lien symbolique sur un dossier partagé est monté at / foo pointerait vers / bar / file, il est impossible de faire la bonne chose du côté hôte).

C'est bien sûr réparable, mais loin d'être anodin car la séparation du traitement des liens symboliques entre le côté OS invité et le côté hôte doit être repensée. Cela ne peut pas être fait rapidement, donc la seule option était de désactiver la création de liens symboliques. Trop d'utilisateurs / applications ont été surpris par le comportement non standard.

La source

Sylvain Pineau
la source