Autorizzazioni per le cartelle condivise di Virtualbox


429

Sto usando Windows e Virtualbox con RedHat, per dirla in modo semplice: ho creato una cartella condivisa in modo da poter usare Eclipse sul mio sistema operativo Windows e fare alcuni test in Linux.

Tuttavia, non riesco ad accedere alla cartella condivisa con il mio utente, ho effettuato l'accesso con root e utilizzato chmod 777e persino spostato il mio utente nel gruppo della cartella.

Qualunque cosa io faccia il risultato è lo stesso:

/media/sf_sharedFolder/: Permission denied

Cosa posso fare? Come posso accedere alla cartella condivisa con il mio utente?

Risposte:


854

Aggiungiti al vboxsfgruppo nella VM guest.

Soluzione 1

Esegui sudo adduser $USER vboxsfdal terminale.
(Su Suse è sudo usermod --append --groups vboxsf $USER)

Per rendere effettivo è necessario disconnettersi e quindi accedere, oppure potrebbe essere necessario riavviare.

Soluzione 2

Modifica il file /etc/group(avrai bisogno dei privilegi di root). Cerca la riga vboxsf:x:999e aggiungi alla fine :yourusername: usa questa soluzione se non hai sudo.

Per rendere effettivo è necessario disconnettersi e quindi accedere, oppure potrebbe essere necessario riavviare.


97
FWIW, la disconnessione e l'accesso sono sufficienti per rendere effettiva la modifica.
3c71,

12
Grazie, mancava solo la parte di riavvio, per me.
Pedro Reis,

5
FWIW, poiché sei già nella riga dei commenti, non è necessario disconnettersi e accedere nuovamente. Smonta semplicemente la condivisione e montala di nuovo. Host VirtualBox> Dispositivi> Cartella condivisa> passa con il mouse sulla cartella condivisa per visualizzare le informazioni sulla descrizione comandi. Ad esempio: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(questa funzione richiede Aggiunte agli ospiti).
firepol,

10
Uso Ubuntu 17.04 come guest e Windows 10 come sistema operativo host (entrambi a 64 bit) e per qualche motivo non ha funzionato fino al riavvio del guest. Ho usato la soluzione 2.
Alex,

14
Lo stesso risultato di @Alex qui, usando Win7 come host e Ubuntu 17.04 come guest, aggiungere l'utente a vboxsf e login / logout non era sufficiente, per rendere effettive le autorizzazioni era necessario il riavvio completo della macchina virtuale.
Hugh Nolan,

193

Prova questo (sul computer guest . Cioè il sistema operativo in esecuzione nella casella virtuale):

sudo adduser your-user vboxsf

Ora riavvia il sistema operativo in esecuzione nella casella virtuale.


8
Molte grazie!! Ha funzionato bene. L'unica cosa da aggiungere è che ho dovuto riavviare il sistema operativo (non ho provato a disconnettermi ma potrebbe essere sufficiente)
Osmar

2
Non è nemmeno necessario disconnettersi / accedere, su - $ USER è sufficiente. (per i programmi avviati dalla nuova shell, ovviamente.)
tzp

2
Per quello che volevo fare, era necessario un riavvio. È più semplice riavviare se si desidera che sia automatico e non basato sul montaggio manuale.
J. Martin,

52

Questo funziona anche

sudo usermod -aG <group> <user>

Quindi riavviare vm


1
Non è necessario riavviare la VM, basta disconnettersi e
riconnettersi

8
Sul mio sistema, il riavvio era necessario per qualche motivo.
Tensigh,

1
Io secondo @Tensigh. Sebbene il mio utente sia stato visualizzato in / etc / group, non è mai stato visualizzato digitando groups. Ho dovuto riavviare la VM.
James Shrum,

38

Per i più pigri (nessuna digitazione, solo copia e incolla totalmente facili):

sudo usermod -aG vboxsf $USER

Disconnettersi e accedere nuovamente per rendere attiva la modifica.

So che è una soluzione "anch'io", ma sono davvero pigro e non ho trovato nessun'altra soluzione per fare appello alla mia innata apatia ... :)


2
La disconnessione non aiuta, devo riavviarla.
CodyChan,

Riavvio richiesto usando sopra in VirtualBox 6.1 usando Ubutun 18.04.xLTS
crajun

10

Per VirtualBox (5.0.24) Host = Mac (El Capitan) e Guest = RHEL (7.2)

Avvia la tua VM RHEL Guest e apri un Terminale. Assicurati di aver installato gli Strumenti di sviluppo.

sudo yum groupinstall 'Developer Tools'

E il pacchetto di intestazioni del kernel in modo che lo script Guest Additions possa aggiornare il tuo kernel.

sudo yum install kernel-devel*

Una volta che hai i prerequisiti in atto, è il momento di installare le aggiunte degli ospiti. Con la VM in esecuzione selezionata, vai al menu VirtualBox e seleziona Dispositivi -> Inserisci immagine CD Aggiunte guest ...

inserisci qui la descrizione dell'immagine

Attendere alcuni secondi affinché avvenga il mount e si avvii lo script di installazione. Dopo aver fatto clic sul pulsante "Esegui" nella finestra di dialogo visualizzata nella VM guest.

Al termine dello script, fai clic con il pulsante destro del mouse sull'icona del CD sul desktop e scegli Espelli. Quindi arrestare la VM guest.

Crea la cartella condivisa nel tuo sistema host usando Terminal, di solito la metto nella mia cartella Documenti e mi assicuro che l'utente possa accedervi.

sudo mkdir ~/Documents/RhelShared
sudo chmod 755 <user> ~/Documents/RhelShared

In Oracle VM Virtual Box Manager selezionare la propria VM e quindi fare clic sull'elemento di configurazione "Cartelle condivise". Nella finestra di dialogo successiva, fai clic sull'icona Aggiungi cartella a destra dell'elenco delle cartelle.

Quindi, nella finestra popup, seleziona la cartella host appena creata come percorso cartella e assegnagli un nome cartella che verrà utilizzato dalla VM guest, inoltre spunta la casella di controllo "Montaggio automatico".

inserisci qui la descrizione dell'immagine

Dopo aver riavviato la VM guest, avviare un terminale sull'host e verificare che l'utente associato al processo Guest VirtualBox in esecuzione sia l'utente, molto probabilmente, o in un gruppo con accesso alla cartella condivisa.

ps aux | grep VirtualBoxVM

Quindi, come per molte delle risposte precedenti in un Terminale sulla VM guest, aggiungi il tuo utente al gruppo vboxsf.

sudo usermod -a -G vboxsf <user>

Disconnettersi e accedere nuovamente per ritirare la modifica.

La cartella condivisa dovrebbe ora essere disponibile e accessibile come sf_rhelshared supponendo che tu abbia usato gli stessi nomi che ho fatto nella finestra popup sopra.


2

Per chiarire l'ultimo post:

Il comando VBoxManage è:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1

1

Il problema è che le autorizzazioni della cartella condivisa sono impostate per non consentire collegamenti simbolici per impostazione predefinita. Puoi abilitarli in pochi semplici passaggi.

  1. Spegni la macchina virtuale.
  2. Nota il tuo nome macchina a Machine > Settings > General > Name
  3. Prendi nota del nome della cartella condivisa in "Macchina> Impostazioni> Cartelle condivise"
  4. Trova la directory principale di VirtualBox ed esegui il comando seguente. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Avvia la macchina virtuale e la cartella condivisa consentirà ora collegamenti simbolici.

1
sudo adduser xxxxxxx vboxsf

dove xxxxxx è il nome del tuo account utente. Disconnettersi e riconnettersi a Ubuntu.


O semplicemente "sudo adduser $ USER vboxsf" e lascia che il nome utente venga letto automaticamente dal sistema
Kaan Oğuzhan,

-2

Dopo aver aggiunto l'utente al gruppo vboxsf, potrebbe essere necessario disconnettersi completamente da gnome / xfce / ??? sessione, perché qualcuno molto tempo fa ha deciso che l'affiliazione di gruppo deve essere memorizzata nella cache al primo accesso al sistema di finestre.

O vai alla vecchia scuola:

% newgrp vboxsf

in qualsiasi shell che si desidera utilizzare per accedere alla cartella. Fortunatamente, newgrp cerca da solo l'elenco dei gruppi e non utilizza i valori memorizzati nella cache. Sarà comunque necessario disconnettersi e riconnettersi per accedere alla cartella da qualcosa di diverso da una shell.


-4

Nella mia esperienza personale, è difficile abilitare le cartelle condivise in VirtualBox ma è possibile. Ho una macchina virtuale guest Debian Buster installata nel mio host Windows 10.

Non riconosco esattamente cosa l'abbia fatto, ma ricordo che sono andato a Windows Defender, il mio antivirus per vedere se riconoscono VirtualBox come programma e non come virus. Dopodiché, premo il tasto destro sul file del documento e ho permesso di condividere la cartella e ho dato clic su alcuni pulsanti lì e ho accettato di condividere con i gruppi e con l'utente muy in Windows 10.

Inoltre, ho trovato una pagina Web di Windows su qualcosa come macchine virtuali che non ricordo bene, ma mi ha portato a un pannello e ho dovuto cambiare tre cose facendo doppio clic, quindi quando aggiorno Windows, riconosce la mia macchina virtuale. Inoltre, in muy debian, nel terminale, usando alcune righe di comando, muy VirtualBox ha riconosciuto il mio utente che concede le autorizzazioni, basandomi su alcune informazioni nei forum di Ubuntu. Metto tutto ciò che ricordo.

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.