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
3. Modifier l’adresse du réseau default (virbr0)
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