L'ospite KVM non può scrivere nella condivisione 9p di proprietà di non root


14

Mi propongo di impostare l'accesso completo in scrittura a una condivisione 9p per un ospite KVM. Sia l'host che l'ospite hanno gli stessi utenti / gruppi con gli stessi ID. Sia l'host che l'ospite dovrebbero essere in grado di scrivere sulla condivisione utilizzando gli stessi nomi utente e non voglio distinguere se un file è stato scritto dall'host o dall'ospite. Il processo di KVM viene eseguito come root - insieme I usere groupad rootin /etc/libvirt/qemu.conf.

Nella definizione ospite sull'host, la condivisione è definita come segue:

<filesystem type='mount' accessmode='passthrough'>
  <source dir='/mnt/storage/data'/>
  <target dir='data'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>

Nell'ospite, la condivisione è montata come:

mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data

Il problema è che l'utente root nel guest non può scrivere su file / cartelle di proprietà di utenti non root sull'host. Ancora più stranamente, la radice dell'ospite può rinominare ed eliminare tali file. Cioè, quando sul computer host creo un file come utente non root, semplicemente non riesco a modificarlo come root del guest, anche se posso rinominarlo ed eliminarlo!

Ho anche scoperto che dove una cartella creata sull'host con un utente non root ha i suoi permessi impostati su 777, il root dell'ospite può scrivergli (cioè creare file in esso). Questo, tuttavia, non si applica ai file: non possono ancora essere modificati indipendentemente dalle autorizzazioni.

Sia l'host che il guest eseguono il server Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.51-1 x86_64 GNU / Linux. In Debian, SELinux è disabilitato di default e non l'ho abilitato. Ho provato tutte e tre le modalità di accesso 9p disponibili ( passthrough, mappede squash) - nessuna differenza.

Mi chiedo solo se c'è qualcosa che posso modificare per farlo funzionare, o è solo un bug?

Nota che c'è un problema simile riportato qui: accesso in lettura / scrittura per filesystem passthrough (9p) con libvirt / qemu? ma a differenza di quel caso, ho accesso in scrittura al 100% dove i file sono di proprietà di root, sono solo i file utente non root a cui non posso scrivere nemmeno essendo root sul guest.


2
Solo per informazione, non ho mai ottenuto che funzioni correttamente e ho riscontrato tutti questi problemi. Di conseguenza, le implementazioni passthrough del filesystem p9 sono state deprecate nelle recenti versioni di qemu / libvirt.
Spooler,

2
Allo stesso modo qui. Red Hat sembra pensare che 9p non sia pronto per la prima serata .
Diagon,

Risposte:


0

Puoi controllare gli attributi aggiuntivi del filesystem come acl's nella directory condivisa? Sospetto un problema di autorizzazione.

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.