Dossier partagé dans KVM

Création d’un partage entre un hyperviseur KVM et une de ses machines virtuelles

1. Activation de samba

systemctl enable smb nmb
systemctl start smb nmb
2. Identifier le bridge libvirt
ip a show dev virbr0
3. Modifier l’adresse du réseau default (virbr0)
virsh net-edit default
4. Création du répertoire partagé et du compte utilisateur Samba
mkdir /partage_vm
useradd -m -d /partage_vm partage
chown -R partage /partage_vm
chmod g+w /partage_vm
smbpasswd -a partage
5. Configuration dans /etc/samba/smb.conf
[global]
        workgroup = WorkGroup
        netbios name = Host
        server string = serveur %h (Samba %partagevm)
        # On souhaite n’autoriser l’accès que via certaines interfaces réseau
        bind interfaces only = Yes
        interfaces = 127.0.0.1, 192.168.122.1
        log file = /var/log/samba/log.%m
        max log size = 100

[partage_vm]
        path = /partage_vm/
        public = no
        browsable = yes
        valid users = partage
        guest ok = no
        writable = yes
        printable = no
        hide files = /lost+found/
        hide unreadable = yes
        # on force les permissions
        create mask = 777
        force create mode = 777
        security mask = 777
        force security mode = 777
6. Redémarrage Samba et ouverture firewall
systemctl restart nmb.service smb.service 
firewall-cmd --add-service=samba --permanent --add-source=192.168.122.1/24
firewall-cmd --reload
7. Test du partage depuis l’hyperviseur
smbclient //192.168.122.1/partage_vm -U partage
8. Correction SELinux pour un dossier spécifique
semanage fcontext -a -t samba_share_t '/partage_vm(/.*)?'
restorecon -R /partage_vm
9. Autoriser Samba dans /home avec SELinux
setsebool -P samba_enable_home_dirs on
10. Vérification du contexte SELinux
ls -Z /partage_vm
-rw-rw-r--. partage partage unconfined_u:object_r:samba_share_t:s0 truc.txt

Sur la VM, le dossier est accessible à l’adresse \\ip_de_virbr0\partage_vm

 

Derniers Articles