[libvirt] [PATCH V2] fix: unix sockets created for virtio-serail has insufficient permissions

Daniel P. Berrange berrange at redhat.com
Wed Sep 3 08:49:37 UTC 2014


On Wed, Sep 03, 2014 at 02:18:07PM +0800, Chunyan Liu wrote:
> Add umask to _virCommand, allow user to set umask to command.
> Set umask(002) to qemu process to overwrite default umask(022) so
> that unix sockets created for virtio-serial has expected permissions.
> 
> Fix problem reported here:
> https://sourceware.org/bugzilla/show_bug.cgi?id=13078#c11
> https://bugzilla.novell.com/show_bug.cgi?id=888166
> 
> To use virtio-serial device, unix socket created for chardev with
> default umask(022) has insufficient permissions.
> e.g.:
> -device virtio-serial \
> -chardev socket,path=/tmp/foo,server,nowait,id=foo \
> -device virtserialport,chardev=foo,name=org.fedoraproject.port.0
> 
> srwxr-xr-x 1 qemu qemu 0 21. Jul 14:19 /tmp/somefile.sock
> 
> Other users in the same group (like real user, test engines, etc)
> cannot write to this socket.
> 
> Signed-off-by: Chunyan Liu <cyliu at suse.com>
> ---
> Changes:
>   * set umask(002) to the whole qemu process instead of calling
>     umask in qemu unix_listen_opts.
> 
>   V1 is here:
>   http://www.mail-archive.com/libvir-list@redhat.com/msg101513.html
> 
>  src/libvirt_private.syms |  1 +
>  src/qemu/qemu_process.c  |  1 +
>  src/util/vircommand.c    | 11 +++++++++++
>  src/util/vircommand.h    |  1 +
>  4 files changed, 14 insertions(+)


ACK, you could possibly argue that it should be configurable in
qemu.conf, but I think that would be overkill. We unconditionally
put QEMU into a special group, so we really should make sure that
stuff is accessible to that group via umask.


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list