Berechtigungen für freigegebene Virtualbox-Ordner

427

Ich verwende Windows und Virtualbox mit RedHat, um es einfach auszudrücken: Ich habe einen freigegebenen Ordner erstellt, damit ich Eclipse unter meinem Windows-Betriebssystem verwenden und einige Tests unter Linux durchführen kann.

Ich kann jedoch mit meinem Benutzer nicht auf den freigegebenen Ordner zugreifen. Ich habe mich mit root angemeldet chmod 777und meinen Benutzer verwendet und sogar in die Ordnergruppe verschoben.

Was auch immer ich tue, das Ergebnis ist das gleiche:

/media/sf_sharedFolder/: Permission denied

Was kann ich machen? Wie kann ich mit meinem Benutzer auf den freigegebenen Ordner zugreifen?

SaintLike
quelle

Antworten:

851

Fügen Sie sich der vboxsfGruppe innerhalb der Gast-VM hinzu.

Lösung 1

Führen Sie sudo adduser $USER vboxsfvon der Klemme.
(Auf Suse ist es sudo usermod --append --groups vboxsf $USER)

Um wirksam zu werden, sollten Sie sich abmelden und dann anmelden, oder Sie müssen möglicherweise neu starten.

Lösung 2

Bearbeiten Sie die Datei /etc/group(Sie benötigen Root-Rechte). Suchen Sie nach der Zeile vboxsf:x:999und fügen Sie sie am Ende hinzu. :yourusernameVerwenden Sie diese Lösung, wenn Sie kein Sudo haben.

Um wirksam zu werden, sollten Sie sich abmelden und dann anmelden, oder Sie müssen möglicherweise neu starten.

Constantin
quelle
97
FWIW, Abmelden und Anmelden reicht aus, damit die Änderung wirksam wird.
3c71
12
Danke, mir fehlte nur der Neustart.
Pedro Reis
5
FWIW, da Sie sich bereits in der Kommentarzeile befinden, müssen Sie sich nicht abmelden und erneut anmelden. Hängen Sie einfach die Freigabe aus und mounten Sie sie erneut. Hosten Sie VirtualBox> Geräte> Freigegebener Ordner> Fahren Sie mit der Maus über den freigegebenen Ordner, um Informationen zu QuickInfos anzuzeigen. Beispiel: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(Für diese Funktion sind Gastzugaben erforderlich.)
Firepol
10
Ich verwende Ubuntu 17.04 als Gast und Windows 10 als Host-Betriebssystem (beide 64 Bit) und aus irgendeinem Grund hat es nicht funktioniert, bis ich den Gast neu gestartet habe. Ich habe Lösung 2 verwendet.
Alex
14
Das gleiche Ergebnis wie bei @Alex hier, bei dem Win7 als Host und Ubuntu 17.04 als Gast verwendet wurden, das Hinzufügen eines Benutzers zu vboxsf und das Anmelden / Abmelden war nicht ausreichend. Ein vollständiger Neustart der virtuellen Maschine war erforderlich, damit die Berechtigungen wirksam wurden.
Hugh Nolan
193

Versuchen Sie dies (auf dem Gastcomputer, dh dem Betriebssystem, das in der virtuellen Box ausgeführt wird):

sudo adduser your-user vboxsf

Starten Sie nun das Betriebssystem neu, das in der virtuellen Box ausgeführt wird.

aflorezd
quelle
7
Vielen Dank!! Hat gut funktioniert. Das einzige, was ich hinzufügen muss, ist, dass ich das Betriebssystem neu starten musste (ich habe nicht versucht, mich einfach abzumelden, aber es könnte ausreichen)
Osmar
2
Es ist sogar nicht nötig, sich abzumelden, su - $ USER ist genug. (für die Programme natürlich von der neuen Shell gestartet.)
tzp
2
Für das, was ich tun wollte, war ein Neustart erforderlich. Es ist nur einfacher, einen Neustart durchzuführen, wenn Sie möchten, dass es automatisch erfolgt und nicht auf der manuellen Bereitstellung basiert.
J. Martin
51

Das funktioniert auch

sudo usermod -aG <group> <user>

Starten Sie dann vm neu

GEverding
quelle
1
Sie müssen die VM nicht neu starten, sondern müssen sich nur abmelden und wieder anmelden
ivandov
8
Auf meinem System war aus irgendeinem Grund ein Neustart erforderlich.
Tensigh
1
Ich zweite @Tensigh. Obwohl mein Benutzer in / etc / group angezeigt wurde, wurde er nie durch Eingabe angezeigt groups. Ich musste die VM neu starten.
James Shrum
37

Für die wirklich Faulen (kein Tippen, nur ganz einfaches Kopieren und Einfügen):

sudo usermod -aG vboxsf $USER

Melden Sie sich ab und wieder an, um die Änderung zu aktivieren.

Ich weiß, dass es eine "Ich auch" -Lösung ist, aber ich bin wirklich faul und habe keine andere Lösung gefunden, um meine angeborene Apathie anzusprechen ... :)

ISparks
quelle
2
Abmelden hilft nicht, ich muss es neu starten.
CodyChan
Neustart erforderlich mit oben in VirtualBox 6.1 unter Verwendung von Ubutun 18.04.xLTS
crajun
10

Für VirtualBox (5.0.24) Host = Mac (El Capitan) und Guest = RHEL (7.2)

Starten Sie Ihre RHEL Guest VM und öffnen Sie ein Terminal. Stellen Sie sicher, dass Sie die Developer Tools installiert haben.

sudo yum groupinstall 'Developer Tools'

Und das Kernel-Header-Paket, damit das Guest Additions-Skript Ihren Kernel aktualisieren kann.

sudo yum install kernel-devel*

Sobald Sie die Voraussetzungen erfüllt haben, können Sie die Guest Additions installieren. Mit Ihrer laufenden VM ausgewählt gehen Sie auf das VirtualBox - Menü und Geräte wählen -> Einfügen Guest Additions - CD ...

Geben Sie hier die Bildbeschreibung ein

Warten Sie einige Sekunden, bis der Mount ausgeführt und das Installationsskript gestartet wurde. Sobald sie auf die Schaltfläche "Ausführen" im Dialogfeld geklickt haben, das in Ihrer Gast-VM angezeigt wurde.

Klicken Sie nach Abschluss des Skripts mit der rechten Maustaste auf das CD-Symbol auf dem Desktop und wählen Sie Auswerfen. Fahren Sie dann die Gast-VM herunter.

Erstellen Sie den freigegebenen Ordner in Ihrem Host-System mit Terminal. Normalerweise lege ich ihn in meinen Ordner "Dokumente" und stelle sicher, dass Ihr Benutzer darauf zugreifen kann.

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

Wählen Sie im Oracle VM Virtual Box Manager Ihre VM aus und klicken Sie auf das Konfigurationselement "Freigegebene Ordner". Klicken Sie im nächsten Dialogfeld auf das Symbol Ordner hinzufügen rechts neben der Ordnerliste.

Wählen Sie dann im Popup-Fenster den Host-Ordner aus, den Sie gerade als Ordnerpfad erstellt haben, und geben Sie ihm einen Ordnernamen, der von der Gast-VM verwendet wird. Aktivieren Sie außerdem das Kontrollkästchen "Auto Mount".

Geben Sie hier die Bildbeschreibung ein

Starten Sie nach dem Neustart der Gast-VM ein Terminal auf dem Host und überprüfen Sie, ob der Benutzer, der dem ausgeführten VirtualBox-Gastprozess zugeordnet ist, entweder Ihr Benutzer ist oder sich in einer Gruppe mit Zugriff auf den freigegebenen Ordner befindet.

ps aux | grep VirtualBoxVM

Fügen Sie dann gemäß mehreren der vorherigen Antworten in einem Terminal auf der Gast-VM Ihren Benutzer zur vboxsf-Gruppe hinzu.

sudo usermod -a -G vboxsf <user>

Melden Sie sich ab und wieder an, um die Änderung zu übernehmen.

Der freigegebene Ordner sollte jetzt als sf_rhelshared verfügbar und zugänglich sein, vorausgesetzt, Sie haben dieselben Namen wie im obigen Popup-Fenster verwendet.

TJA
quelle
2

Um den letzten Beitrag zu verdeutlichen:

Der Befehl VBoxManage lautet:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1
Ian Owens
quelle
1

Das Problem ist, dass die Berechtigungen des freigegebenen Ordners so eingestellt sind, dass symbolische Links standardmäßig nicht zulässig sind. Sie können sie in wenigen einfachen Schritten aktivieren.

  1. Fahren Sie die virtuelle Maschine herunter.
  2. Notieren Sie Ihren Computernamen unter Machine > Settings > General > Name
  3. Notieren Sie sich den Namen Ihres freigegebenen Ordners unter "Computer> Einstellungen> Freigegebene Ordner"
  4. Suchen Sie Ihr VirtualBox-Stammverzeichnis und führen Sie den folgenden Befehl aus. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Starten Sie die virtuelle Maschine und der freigegebene Ordner erlaubt jetzt symbolische Links.
Andy Jenkins
quelle
1
sudo adduser xxxxxxx vboxsf

Dabei ist xxxxxx der Name Ihres Benutzerkontos. Melden Sie sich ab und wieder bei Ubuntu an.

Devesh Sharma
quelle
Oder einfach "sudo adduser $ USER vboxsf" und lassen Sie den Benutzernamen automatisch aus dem System lesen
Kaan Oğuzhan
-2

Nachdem Sie den Benutzer zur vboxsf-Gruppe hinzugefügt haben, müssen Sie sich möglicherweise vollständig vom gnome / xfce / ??? abmelden. Sitzung, weil vor langer Zeit jemand entschieden hat, dass die Gruppenzugehörigkeit beim ersten Anmelden am Fenstersystem zwischengespeichert werden soll.

Oder auf die alte Schule gehen:

% newgrp vboxsf

in jeder Shell, die Sie für den Zugriff auf den Ordner verwenden möchten. Glücklicherweise sucht newgrp die Gruppenliste für sich selbst und verwendet die zwischengespeicherten Werte nicht. Sie müssen sich weiterhin abmelden und wieder anmelden, um von einer anderen als einer Shell auf den Ordner zugreifen zu können.

Don Christensen
quelle
-4

Nach meiner persönlichen Erfahrung ist es schwierig, freigegebene Ordner in VirtualBox zu aktivieren, aber es ist möglich. Ich habe eine virtuelle Debian Buster-Gastmaschine auf meinem Windows 10-Host installiert.

Ich erkenne nicht genau, was es getan hat, aber ich erinnere mich, dass ich zu Windows Defender gegangen bin, meinem Antivirenprogramm, um zu prüfen, ob VirtualBox als Programm und nicht als Virus erkannt wird. Danach drücke ich mit der rechten Maustaste auf die Dokumentdatei und darf den Ordner freigeben. Ich habe dort auf einige Schaltflächen geklickt und die Freigabe für Gruppen und muy-Benutzer in Windows 10 akzeptiert.

Außerdem habe ich eine Windows-Webseite über so etwas wie virtuelle Maschinen gefunden, an die ich mich nicht gut erinnere, aber sie hat mich zu einem Panel geführt, und ich musste drei Dinge durch Doppelklicken ändern, damit beim Aktualisieren von Windows meine virtuelle Maschine erkannt wird. Außerdem erkannte muy VirtualBox in muy debian im Terminal mithilfe einiger Befehlszeilen meinen Benutzer, der Berechtigungen erteilte, basierend auf einigen Informationen in den Ubuntu-Foren. Ich setze alles ein, woran ich mich erinnere.

Arbeiter
quelle