[libvirt/KVM/Qemu] dossier partagé et droits d'accès

dossier partagé et droits d'accès [libvirt/KVM/Qemu] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 14-01-2018 à 21:18:26    

:hello:

 

A tout hasard, y a-t-il quelqu'un ici qui connait bien libvirt, KVM, Qemu et tout ce bazar? J'ai un host sous Debian 9 et une machine virtuelle qui utilise la même chose. Je veux pouvoir échanger des fichiers entre les deux, du coup j'ai rajouté un dossier partagé (pas sûr du terme) dans virt-manager. J'arrive à faire apparaître le dossier dans le guest avec "mount" mais c'est le gros bordel avec les droits d'accès et je m'en sors pas. Si j'ai un fichier créé sur le host je peux pas le modifier sur le guest et l'inverse, voire je peux pas créer de fichier du tout. Je suis obligé d'avoir une console root ouvert tout le temps (sur guest+host) et de bricoler avec chown et Co. pour essayer de faire fonctionner à peu près le truc et encore, parfois même en tant que root je me prends des erreurs "t'as pas le droit". :ouch: C'est vraiment chiant pour un truc aussi banal à priori.

 

Comment régler ça svp? Je veux pouvoir créer/lire/écrire/modifier des fichiers dans le dossier partagé sans avoir besoin de droits super-utilisateur nul part, ça doit bien être possible?? J'ai cherché sur internet, essayé différents modes (mapped, passtrough), bricolé avec chown, chmod, facl-je-sais-pas-quoi mais aucune chance. :(

 

Sur le host je suis membre des groupes kvm, libvirt et libvirt-qemu. Dans le guest j'ai rien de tout ça dans /etc/group.

 

Avec Virtualbox sous Windows c'était bien plus simple. :o

 

Des idées? Je précise que je suis débutant. :o


Message édité par rat de combat le 14-01-2018 à 21:19:34
Reply

Marsh Posté le 14-01-2018 à 21:18:26   

Reply

Marsh Posté le 15-01-2018 à 18:06:34    

Est-ce que ça ne serait pas plus simple de faire accéder aux deux machines à un partage smb ou nfs ?


Message édité par Wobak le 15-01-2018 à 18:06:44
Reply

Marsh Posté le 16-01-2018 à 20:09:21    

Peut-être bien, faudra que je me renseigne sur ce que c'est tout ça. :o En même temps il doit bien être possible de faire fonctionner ces dossiers partagés correctement non?

Reply

Marsh Posté le 16-01-2018 à 20:48:49    

coté host tu le mets en exportNFS  coté clients tu les monte via l'adresse bridge ça doit suffir n'essayes pas d'ajouter de la gestion de droit déjà dans un premier temps.
 

virsh edit myvmname


 
et ajoutant un truc comme ça (dans le genre syntaxe precise à vérifier)
 


blablabla  
   <filesystem type='mount' accessmode='passthrough'>
      <source dir='/opt/virtsh'/>
      <target dir='test'/>
    </filesystem>
  </devices>
</domains>


 
puis

virsh start myvmname


 
sur la vm  

cat >>/etc/modules <<EOF
 loop
 virtio
 9p
 9pnet
 9pnet_virtio
 EOF


 

service kmod start


 
et enfin  


mount test /mnt -t 9p -o trans=virtio


 
ça doit suffir
 
 
 
 
je confirme je viens de démarrer ma machine qui heberge virsh  
https://pastebin.com/a36Tmw1F   démo end to end du montage de /opt dans une des vms   :hello:

Message cité 1 fois
Message édité par francoisp31 le 16-01-2018 à 21:08:59
Reply

Marsh Posté le 17-01-2018 à 17:29:26    

francoisp31 a écrit :

[...] ça doit suffir

Oui sur le principe ça fonctionne très bien, mais je peux uniquement lire/écrire dans le dossier partagé en tant que root (voire pas du tout). Le problème c'est bien ça (droits d'accès), pas la "mise en service" basique (avec mount etc) du dossier partagé...

Reply

Marsh Posté le 17-01-2018 à 19:19:31    

les droits c'est les mêmes  que ceux vu par le guest pour le guest  et ceux de l'hote pour l'hote ....  au plus restrictif des deux quand ll y a conflit d'interet
 rien à faire de plus ... ou alors il faut vraiment beaucoup plus préciser tes besoins avec un exemple concret

Reply

Marsh Posté le 25-01-2018 à 16:40:06    

J'espérais avoir été clair. :o
Très concrètement: Je suis en mode mapped et le dossier partagé est "mounté" sur le guest. Je crée un fichier sur le host dans le dossier et je mets les droits à rw-rw-rw-. Dans mon guest je peux ouvrir le fichier mais si j'essaye de sauvegarder les modifications je me prends un message d'erreur. Même si je démarre le logiciel utilisé (mousepad dans ce cas) depuis une console root je ne peux pas modifier le fichier sur le guest. Ce que j'aimerais c'est pouvoir modifier le fichier créé sur le host depuis le guest et cela sans droits super-utilisateur. edit: En plus si je fais ls -l dans le guest je vois bien rw*3 et l'utilisateur local (du guest) comme propriétaire du fichier (+groupe). C'est pas logique cette histoire.
En sens inverse c'est même pire: Je ne peux même pas ouvrir sur le host un fichier créé sur le guest, le fichier apparaît vide (alors que les droits sont rw pour tout le monde). Si je démarre mon éditeur de texte depuis une console root (sur le host) là par contre ça marche et je peux aussi modifier. J'aimerais pouvoir lire et écrire le fichier sans droits super-utilisateur.

 

Si je change de mode et que j'utilise passtrough c'est encore pire, je ne peux même pas créer de fichier dans le dossier partagé depuis le guest, même avec une console root.

 

Bref, j'aimerais pouvoir lire et modifier n'importe quel fichier dans le dossier partagé depuis n'importe quel des deux OS (host/guest) et cela sans droits root. Ça doit bien être possible??

 

encore edit: Mon dossier partagé a les droits rw pour tout le monde, mais se situe dans ~/Bureau/. C'est peut-être un problème? J'ai essayé de créer un dossier test directement à la base du disque dur (dans / ) mais je me prends un gros message d'erreur si j'essaye de démarrer ma machine virtuelle avec ce dossier indiqué comme dossier partagé. J'y comprends rien.


Message édité par rat de combat le 25-01-2018 à 16:52:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed