[libvirt] [PATCH] qemu: Allow serving VNC over a unix domain socket
Daniel P. Berrange
berrange at redhat.com
Mon Jan 10 18:14:55 UTC 2011
On Mon, Jan 10, 2011 at 12:15:59PM -0500, Cole Robinson wrote:
> QEMU supports serving VNC over a unix domain socket rather than traditional
> TCP host/port. This is specified with:
>
> <graphics type='vnc' socket='/foo/bar/baz'/>
>
> Currently not hooked up with the security driver, I'll wait for Dan's
> big reorg. I also have a virtinst/virt-manager patch queued locally to
> handle this change.
Actually there's nothing you can do with UNIX sockets that QEMU
itself is responsible for creating. You just have to make sure
you place them in a directory that is labelled virt_image_t
and then rely on the policy doing correct labelling. cf the UNIX
socket used for the monitor.
> To be useful, we probably want a qemu.conf option to use sockets as the
> default VNC method, so VMs without hardcoded listen addresses will
> magically start up serving over a socket in /var/lib/libvirt/qemu. This
> provides better security access control than VNC listening on 127.0.0.1, but
> will cause issues with tools that rely on the lax security (virt-manager
> in fedora runs as regular user by default, and wouldn't be able to access
> a socket owned by 'qemu' or 'root').
Yes, we'd want a qemu.conf option for this, though not enabled by
default due to the problem you mention. The only current approach
is to make your desktop user be a member of the 'qemu' group which
isn't entirely satisfactory for qemu://system. Works nicely for
qemu://session though.
Daniel
More information about the libvir-list
mailing list