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