Autorisations du dossier partagé Virtualbox

429

J'utilise Windows et Virtualbox avec RedHat, pour faire simple: j'ai créé un dossier partagé afin de pouvoir utiliser Eclipse sur mon système d'exploitation Windows et faire des tests sous Linux.

Cependant, je ne peux pas accéder au dossier partagé avec mon utilisateur, je me suis connecté avec root et j'ai utilisé chmod 777et même déplacé mon utilisateur vers le groupe du dossier.

Quoi que je fasse, le résultat est le même:

/media/sf_sharedFolder/: Permission denied

Que puis-je faire? Comment puis-je accéder au dossier partagé avec mon utilisateur?

SaintLike
la source

Réponses:

854

Ajoutez-vous au vboxsfgroupe au sein de la machine virtuelle invitée.

Solution 1

Exécutez à sudo adduser $USER vboxsfpartir du terminal.
(Sur Suse c'est sudo usermod --append --groups vboxsf $USER)

Pour prendre effet, vous devez vous déconnecter puis vous connecter, ou vous devrez peut-être redémarrer.

Solution 2

Modifiez le fichier /etc/group(vous aurez besoin des privilèges root). Recherchez la ligne vboxsf:x:999et ajoutez à la fin :yourusername- utilisez cette solution si vous n'avez pas sudo.

Pour prendre effet, vous devez vous déconnecter puis vous connecter, ou vous devrez peut-être redémarrer.

Constantin
la source
97
FWIW, la déconnexion et la connexion suffisent pour que le changement prenne effet.
3c71
12
Merci, il me manquait juste la partie redémarrage.
Pedro Reis
5
FWIW, puisque vous êtes déjà dans la ligne de commentaire, pas besoin de vous déconnecter et de vous reconnecter. Démontez simplement le partage et montez-le à nouveau. Hôte VirtualBox> Périphériques> Dossier partagé> passez la souris sur le dossier que vous avez partagé pour voir les info-bulles. Par exemple: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(cette fonctionnalité nécessite des ajouts d'invités).
firepol
10
J'utilise Ubuntu 17.04 en tant qu'invité et Windows 10 en tant qu'OS hôte (les deux 64 bits) et pour une raison quelconque, cela n'a pas fonctionné jusqu'à ce que je redémarre l'invité. J'ai utilisé la solution 2.
Alex
14
Même résultat que @Alex ici, en utilisant Win7 en tant qu'hôte et Ubuntu 17.04 en tant qu'invité, l'ajout d'un utilisateur à vboxsf et la connexion / déconnexion n'étaient pas suffisants, un redémarrage complet de la machine virtuelle était nécessaire pour que les autorisations prennent effet.
Hugh Nolan
193

Essayez ceci (sur la machine invitée, c'est-à-dire le système d'exploitation exécuté dans la boîte virtuelle):

sudo adduser your-user vboxsf

Redémarrez maintenant le système d'exploitation exécuté dans la boîte virtuelle.

aflorezd
la source
8
Merci beaucoup!! A très bien fonctionné. La seule chose à ajouter est que j'ai dû redémarrer le système d'exploitation (je n'ai pas simplement essayé de me déconnecter, mais cela pourrait suffire)
Osmar
2
Il n'est même pas nécessaire de se déconnecter / se connecter, su - $ USER suffit. (pour les programmes démarrés à partir du nouveau shell, bien sûr.)
tzp
2
Pour ce que je voulais faire, un redémarrage était nécessaire. Il est juste plus facile de redémarrer si vous voulez qu'il soit automagique et non basé sur votre montage manuel.
J. Martin
52

Cela fonctionne aussi

sudo usermod -aG <group> <user>

Redémarrez ensuite vm

GEverding
la source
1
Pas besoin de redémarrer la VM, déconnectez-vous et
reconnectez-vous
8
Sur mon système, le redémarrage était nécessaire pour une raison quelconque.
Tensigh
1
J'appuie @Tensigh. Bien que mon utilisateur soit affiché dans / etc / group, il ne s'est jamais affiché en tapant groups. J'ai dû redémarrer la machine virtuelle.
James Shrum
38

Pour les vraiment paresseux (pas de dactylographie, seulement un copier-coller totalement simple):

sudo usermod -aG vboxsf $USER

Déconnectez-vous et reconnectez-vous pour activer la modification.

Je sais que c'est une solution "moi aussi", mais je suis vraiment paresseux et je n'ai trouvé aucune autre solution pour faire appel à mon apathie innée ... :)

ISparkes
la source
2
La déconnexion n'aide pas, je dois la redémarrer.
CodyChan
Redémarrage requis en utilisant ci-dessus dans VirtualBox 6.1 en utilisant Ubutun 18.04.xLTS
crajun
10

Pour VirtualBox (5.0.24) Hôte = Mac (El Capitan) et Guest = RHEL (7.2)

Démarrez votre machine virtuelle invitée RHEL et ouvrez un terminal. Assurez-vous que les outils de développement sont installés.

sudo yum groupinstall 'Developer Tools'

Et le paquet d'en-têtes du noyau pour que le script des compléments invités puisse mettre à jour votre noyau.

sudo yum install kernel-devel*

Une fois que vous avez les prérequis en place, il est temps d'installer les compléments invité. Avec votre VM en cours d'exécution sélectionnée, allez dans le menu VirtualBox et sélectionnez Périphériques -> Insérer l'image du CD Additions invité ...

entrez la description de l'image ici

Attendez quelques secondes que le montage se produise et que le script d'installation démarre. Une fois qu'ils ont cliqué sur le bouton "Exécuter" dans la boîte de dialogue qui est apparue dans votre machine virtuelle invitée.

Une fois le script terminé, cliquez avec le bouton droit sur l'icône du CD sur le bureau et choisissez Éjecter. Arrêtez ensuite la machine virtuelle invitée.

Créez le dossier partagé dans votre système hôte à l'aide de Terminal, je le mets généralement dans mon dossier Documents et je m'assure que votre utilisateur peut y accéder.

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

Dans Oracle VM Virtual Box Manager, sélectionnez votre VM puis cliquez sur l'élément de configuration "Dossiers partagés". Dans la boîte de dialogue suivante, cliquez sur l'icône Ajouter un dossier à droite de la liste des dossiers.

Ensuite, dans la fenêtre contextuelle, sélectionnez le dossier hôte que vous venez de créer comme chemin du dossier et donnez-lui un nom de dossier qui sera utilisé par la machine virtuelle invitée, cochez également la case "Montage automatique".

entrez la description de l'image ici

Après avoir redémarré la machine virtuelle invitée, lancez un terminal sur l'hôte et vérifiez que l'utilisateur associé au processus invité VirtualBox en cours d'exécution est soit votre utilisateur, très probablement, soit un groupe ayant accès au dossier partagé.

ps aux | grep VirtualBoxVM

Ensuite, selon plusieurs des réponses précédentes dans un terminal sur la machine virtuelle invitée, ajoutez votre utilisateur au groupe vboxsf.

sudo usermod -a -G vboxsf <user>

Déconnectez-vous et reconnectez-vous pour prendre en compte la modification.

Le dossier partagé devrait maintenant être disponible et accessible en tant que sf_rhelshared en supposant que vous avez utilisé les mêmes noms que moi dans la fenêtre contextuelle ci-dessus.

TJA
la source
2

Pour clarifier le dernier message:

La commande VBoxManage est:

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

Le problème est que les autorisations du dossier partagé sont définies pour ne pas autoriser les liens symboliques par défaut. Vous pouvez les activer en quelques étapes simples.

  1. Arrêtez la machine virtuelle.
  2. Notez le nom de votre machine sur Machine > Settings > General > Name
  3. Notez le nom de votre dossier partagé dans «Machine> Paramètres> Dossiers partagés»
  4. Recherchez votre répertoire racine VirtualBox et exécutez la commande suivante. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Démarrez la machine virtuelle et le dossier partagé autorisera désormais les liens symboliques.
Andy Jenkins
la source
1
sudo adduser xxxxxxx vboxsf

où xxxxxx est le nom de votre compte d'utilisateur. Déconnectez-vous et reconnectez-vous à Ubuntu.

Devesh Sharma
la source
Ou simplement "sudo adduser $ USER vboxsf" et laissez le nom d'utilisateur être lu automatiquement sur le système
Kaan Oğuzhan
-2

Après avoir ajouté l'utilisateur au groupe vboxsf, vous devrez peut-être vous déconnecter complètement de gnome / xfce / ??? session, parce que quelqu'un a décidé il y a longtemps que l’affiliation au groupe devait être mise en cache lors de la première connexion au système de fenêtres.

Ou allez à la vieille école:

% newgrp vboxsf

dans n'importe quel shell que vous souhaitez utiliser pour accéder au dossier. Heureusement, newgrp recherche la liste des groupes pour lui-même et n'utilise pas les valeurs mises en cache. Vous devrez toujours vous déconnecter et vous reconnecter pour accéder au dossier à partir de quelque chose d'autre qu'un shell.

Don Christensen
la source
-4

D'après mon expérience personnelle, il est difficile d'activer les dossiers partagés dans VirtualBox mais c'est possible. J'ai une machine virtuelle invitée Debian Buster installée sur mon hôte Windows 10.

Je ne reconnais pas exactement ce qui l'a fait, mais je me souviens que je suis allé sur Windows Defender, mon antivirus pour voir s'ils reconnaissent VirtualBox en tant que programme et non en tant que virus. Après cela, j'appuie sur un clic droit sur le fichier du document et j'ai autorisé à partager le dossier et j'ai donné un clic à certains boutons là-bas et accepté de partager avec des groupes et avec muy utilisateur dans Windows 10.

De plus, j'ai trouvé une page Web de Windows sur quelque chose comme des machines virtuelles dont je ne me souviens pas bien, mais cela m'a amené à un panneau et j'ai dû changer trois choses en double-cliquant, donc quand je mets à jour Windows, il reconnaît ma machine virtuelle. De plus, dans muy debian, dans le terminal, en utilisant certaines lignes de commande, muy VirtualBox a reconnu mon utilisateur accordant des autorisations, je me suis basé sur certaines informations sur les forums Ubuntu. Je mets tout ce dont je me souviens.

Ouvrier
la source