SELinux interferindo no compartilhamento de arquivos host / guest usando o KVM

6

Estou executando o Fedora 17 com o KVM e a máquina virtual funciona bem. Eu tentei seguir este para ter acesso a um arquivo no sistema host, mas o SELinux impede que a VM acesse qualquer arquivo além daqueles em /var/lib/libvirt/images . Esta é a mensagem que o host fornece ao executar ls dentro da VM no caminho compartilhado.

SELinux is preventing /usr/bin/qemu-kvm from read access on the
directory share.

Como posso contornar isso? O objetivo da minha VM é testar binários em várias distribuições do Linux para que um caminho compartilhado seja mais fácil. Existe uma maneira de tornar o / tmp / share absolutamente acessível por todos?

    
por Pete 09.01.2013 / 20:29

1 resposta

4

O compartilhamento de destino (você não deu o caminho que o qemu está tentando acessar) deve ter o contexto de segurança svirt_image_t (pode ser verificado fazendo ls -ldZ <pathToDestination> ). Se isto é rotulado como algo mais, o SELinux não deixará o kvm ler / escrever naquela pasta.

A solução é fazer o seguinte (substitua < pathToDestination > pelo caminho real):

semanage fcontext -a -t svirt_image_t "/<pathToDestination>(/.*)?"
restorecon -vR <pathToDestination>

O acima define o contexto de arquivo padrão para qualquer coisa abaixo e incluindo pathToDestination, o segundo comando diz ao SELinux para restaurar os contextos de arquivo em tudo abaixo daquele diretório para o que temos como padrão (ou seja, o semanage muda).

Você também pode verificar /var/log/audit/audit.log por um possível motivo para a negação do AVC

Pesquise as recusas de AVC de hoje /sbin/ausearch -m avc -ts today

Ou verifique /var/log/messages . Ele informará o identificador exclusivo da negação de AVC que precisa ser executada como um argumento para sealert -l

Exemplo:     sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020

Você tem que passar por essa informação. Ele informa os comandos que você precisa executar para superar as negações do AVC.

    
por 09.01.2013 / 23:43