Evitar que libvirtd modifique os atributos dos arquivos

2

Eu tenho um arquivo de disco .vdi que é compartilhado entre libvirtd e VirtualBox .

Sempre que inicio um programa com libvirtd , o proprietário do arquivo .vdi é definido como raiz.

Eu estou querendo saber se é configurável? Eu sei que poderia ser um recurso de segurança, mas quero desativá-lo.

EDITAR

Executando o Arch Linux, atualizado

libvirt 1.2.1-1
libvirt-glib 0.1.7-2
libvirt-python 1.2.1-1
    
por daisy 22.01.2014 / 09:04

1 resposta

2

Se você olhar dentro do arquivo /etc/libvirt/qemu.conf , verá esta seção:

# The user for QEMU processes run by the system instance. It can be
# specified as a user name or as a user id. The qemu driver will try to
# parse this value first as a name and then, if the name doesn't exist,
# as a user id.
#
# Since a sequence of digits is a valid user name, a leading plus sign
# can be used to ensure that a user id will not be interpreted as a user
# name.
#
# Some examples of valid values are:
#
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#
#user = "root"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
#group = "root"

Você pode alterar o user e o group para o que quiser, para que libvirtd pare de roubar a propriedade.

dynamic_ownership

Há outra opção que você pode definir no arquivo qemu.conf para desativar qemu de alterar a propriedade dos arquivos .img .

dynamic_ownership=0

Esta opção foi mencionada neste log de confirmação libvirt: " Não faça chown qemu imagem salva de volta à raiz depois de salvar se dynamic_ownership = 0 ". Um exemplo dessa opção está disponível em um qemu.conf , você pode ver a seção chave abaixo:

# Whether libvirt should dynamically change file ownership
# to match the configured user/group above. Defaults to 1.
# Set to 0 to disable file ownership changes.
@!@
if configRegistry.get( 'uvmm/kvm/qemu/dynamic_ownership' ):
    if configRegistry.is_false( 'uvmm/kvm/qemu/dynamic_ownership' ):
        print 'dynamic_ownership = 0'
    else:
        print 'dynamic_ownership = 1'
else:
    print '#dynamic_ownership = 1'
@!@

Referências

por 23.01.2014 / 00:27