Come fare in modo che il SO guest segua i collegamenti simbolici dalla cartella condivisa


18

Ho Ubuntu Desktop come sistema operativo principale e Ubuntu Server come sistema operativo guest in VirtualBox 4.2.16.

Ho creato una cartella condivisa chiamata / condivisa e ho inserito diversi collegamenti simbolici a cartelle diverse sul mio sistema operativo principale. Naturalmente, il mio SO guest vede solo collegamenti simbolici rotti, perché queste posizioni esistono solo nel SO principale.

Come posso fare in modo che il mio sistema operativo guest visualizzi il loro contenuto reale?

La creazione di un'altra cartella condivisa non è un'opzione.


1
Cordiali saluti, se il tuo host è Windows7,8,10, allora devi seguire le istruzioni nella risposta E poi anche avviare la VM (aka "esegui come amministratore") come visto in questo post sul blog sulle cartelle condivise VM guest Linux con link simbolici su host di windows .
Trevor Boyd Smith,

Risposte:


23

È un problema in virtualBox e ha a che fare con la sicurezza. Prima del 4.1.8 i link simbolici funzionavano ma erano seriamente difettosi. E la decisione è stata presa per rimuovere il supporto del collegamento simbolico.

Vedi questo commento :

La creazione di collegamenti simbolici all'interno di un guest è stata disabilitata in VirtualBox 4.1.8 per motivi di sicurezza. Un ospite potrebbe creare collegamenti simbolici che puntano all'esterno della directory host assegnata. Questo non ha nulla a che fare con alcun bug ext3 / ext4. E l'ospite è ancora in grado di leggere i collegamenti simbolici creati sull'host.

Ci scusiamo per la dichiarazione in ritardo.

Se fate

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

Quindi il tuo ospite sarà in grado di creare nuovamente collegamenti simbolici. Ma per motivi di sicurezza (vedi sopra) questo è disabilitato di default. La correzione per impedire pericolosi collegamenti simbolici da parte dell'ospite è molto complicata, pertanto abbiamo deciso di non consentire a nessun ospite di creare alcun collegamento simbolico per aggirare il problema di sicurezza.

(Mi sono preso la libertà di correggere un bug nel commento;))


Ho eseguito questo comando e riavviato VB. Il colore del collegamento simbolico è cambiato, ma ora non riesco nemmeno a inserire il cd. Lo vedo quando uso ls, ma bash ha smesso di mostrarmelo su TAB.
dev9

Hmm sembra che non sia eseguibile?
Rinzwind,

Bene, mi mostra lrwxrwx ---, quindi dovrebbe andare bene. Quando provo a inserire un cd, bash non mi dice alcun file o directory.
dev9

3
Che cos'è SHARE_NAME? Nessuno lo spiega chiaramente dove lo troviamo.
Meglio,

3
La cartella che usi per la condivisione.
Rinzwind,

1

La risposta breve è che non si può fare.

Il seguente biglietto su virtualbox.org ha alcuni chiarimenti:

Questa modifica è intenzionale e risolve un problema con l'implementazione corrente delle cartelle condivise. Per compatibilità con i sistemi operativi guest che non hanno idea di cosa sia un link simbolico, al momento è interpretato dal lato host, e ciò significa che si ottiene un comportamento inaspettato con sistemi operativi guest che sanno cos'è un link simbolico (ad es. Se un link simbolico su una cartella condivisa è montato at / foo indicherebbe / bar / file è impossibile fare la cosa giusta sul lato host).

Ovviamente è risolvibile, ma tutt'altro che banale in quanto la separazione dell'elaborazione del collegamento simbolico tra lato SO guest e lato host deve essere riprogettata. Questo non può essere fatto rapidamente, quindi l'unica opzione era disabilitare la creazione del collegamento simbolico. Troppi utenti / applicazioni sono stati colti di sorpresa dal comportamento non standard.

fonte

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.