Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Stand Fedora-Fr sur Paris Open Source Summit 2019

#51 24/02/2015 09:22:49

Edouard_le_homard
Membre
Lieu : Sous un rocher noir
Inscription : 24/03/2012
Messages : 3 478

Re : [Résolu] KVM - partage de fichiers

oui pour les ports :

[root@edouard ~]# iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   44  3014 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
   20  6620 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
 491K  371M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  255 17364 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
59704 8377K INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
59704 8377K INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
59704 8377K INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  460 25632 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
   69  2880 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
24987 4593K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  924  375K ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
 1670 1916K ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 FORWARD_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FORWARD_IN_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FORWARD_IN_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FORWARD_OUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FORWARD_OUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 46999 packets, 34M bytes)
 pkts bytes target     prot opt in     out     source               destination         
   20  6623 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68
 440K  156M OUTPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD_IN_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDI_public  all  --  vnet0  *       0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDI_work  all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDI_work  all  --  em1    *       0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDI_public  all  --  +      *       0.0.0.0/0            0.0.0.0/0           [goto] 

Chain FORWARD_IN_ZONES_SOURCE (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD_OUT_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDO_public  all  --  *      vnet0   0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDO_work  all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDO_work  all  --  *      em1     0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 FWDO_public  all  --  *      +       0.0.0.0/0            0.0.0.0/0           [goto] 

Chain FORWARD_OUT_ZONES_SOURCE (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_public (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDI_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDI_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDI_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FWDI_public_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_public_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_public_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_work (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDI_work_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDI_work_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDI_work_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FWDI_work_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_work_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDI_work_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_public (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDO_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDO_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDO_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FWDO_public_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_public_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_public_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_work (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 FWDO_work_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDO_work_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 FWDO_work_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FWDO_work_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_work_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain FWDO_work_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 IN_public  all  --  vnet0  *       0.0.0.0/0            0.0.0.0/0           [goto] 
  738  106K IN_work    all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           [goto] 
58966 8271K IN_work    all  --  em1    *       0.0.0.0/0            0.0.0.0/0           [goto] 
    0     0 IN_public  all  --  +      *       0.0.0.0/0            0.0.0.0/0           [goto] 

Chain INPUT_ZONES_SOURCE (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain IN_public (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 IN_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain IN_public_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:631 ctstate NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251          udp dpt:5353 ctstate NEW
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:631 ctstate NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:631 ctstate NEW
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW

Chain IN_public_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain IN_public_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain IN_work (2 references)
 pkts bytes target     prot opt in     out     source               destination         
59704 8377K IN_work_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
59704 8377K IN_work_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
59704 8377K IN_work_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain IN_work_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 5170 1068K ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251          udp dpt:5353 ctstate NEW
26250 2062K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:137 ctstate NEW
 2704  621K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:138 ctstate NEW
   19   988 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:139 ctstate NEW
   45  2544 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:445 ctstate NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:137 ctstate NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:138 ctstate NEW
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW

Chain IN_work_deny (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain IN_work_log (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT_direct (1 references)
 pkts bytes target     prot opt in     out     source               destination 

J'étais en "enforcing". avec un setenforce 0 ; ça marche nickel. avec un setenforce 1 ; je me fais jeter (pas la permission etc.).
Donc c'est SELinux qui bloque. j'ai trouvé ça sur Internet. Donc a priori, il faudrait faire un :

semanage fcontext -a -t samba_share_t '/dossier_partagé(/.*)?'
restorecon -R /dossier_partagé

c'est correct ?


Asus VivoBook S 15 Fedora 29 x86_64 KDE

Hors ligne

#52 24/02/2015 10:28:10

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 368
Site Web

Re : [Résolu] KVM - partage de fichiers

Donne nous le

ls -Z /ton_dossier/partagé

Mais si c'est pas du contexte samba_share tu peux en effet faire les commandes que tu as donnés. Mais ça ne suffira pas normalement car tu as mis ton dossier partagé dans le /home me semble, il faut faire un truc en plus, qui est expliqué dans le fichier smb.conf:

setsebool -P samba_enable_home_dirs on

ça autorisera samba à acceder au /home

Dernière modification par madko (24/02/2015 10:28:50)

Hors ligne

#53 24/02/2015 11:27:11

Edouard_le_homard
Membre
Lieu : Sous un rocher noir
Inscription : 24/03/2012
Messages : 3 478

Re : [Résolu] KVM - partage de fichiers

alors :

[edouard@edouard]~% ls -Z VShare 
-rw-rw-rw-. edouard edouard unconfined_u:object_r:user_home_t:s0 truc.docx
-rw-rw-rw-. edouard edouard unconfined_u:object_r:user_home_t:s0 truc.pdf

En tout cas, ça marche en mode enforcing avec :

[root@edouard edouard]# semanage fcontext -a -t samba_share_t '/home/edouard/VShare(/.*)?'
[root@edouard edouard]# restorecon -R /home/edouard/VShare
[root@edouard edouard]# setsebool -P samba_enable_home_dirs on

ert du coup :

[root@edouard edouard]# ls -Z VShare 
-rw-rw-rw-. edouard edouard unconfined_u:object_r:samba_share_t:s0 truc.docx
-rw-rw-rw-. edouard edouard unconfined_u:object_r:samba_share_t:s0 truc.pdf

merci infiniment !!

Je pense à une dernière chose, mon login sur l'hyperviseur est edouard. j'ai fait un smbpassw -a edouard et j'ai mis un mdp différent de mon mdp sur l'hyperviseur.
J'aimerai me connecter au partage samba avec le user "partage", je fais d'abord un

[root@edouard ~]# smbpasswd -a partage
New SMB password:
Retype new SMB password:
Failed to add entry for user partage.

faut il créer l'user avant ? comment ça se passe ?
quand ça c'est réglé je mets en résolu et je ferai un récapitulatif des manips effectués, ça sera plus lisible.

Dernière modification par Edouard_le_homard (24/02/2015 11:28:04)


Asus VivoBook S 15 Fedora 29 x86_64 KDE

Hors ligne

#54 24/02/2015 12:35:41

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 368
Site Web

Re : [Résolu] KVM - partage de fichiers

Oui comme expliqué avant il faut créer le compte unix, car samba a besoin des uid/gid vu qu'il utilise ce compte pour accèder au système de fichiers (et donc aux éventuelles permissions unix dessus). Par contre pas obligé de lui donner un mot de passe sur ce compte unix (passwd). Enfin tu crée le compte dans samba, qui a sa propore base pour les password, d'où la necessité de passer par une commande spécifique smbpasswd.

Donc ça devrait se résumer ainsi:

useradd -m -d /ton/home/pour/partage partage
smbpasswd -a partage

Hors ligne

#55 28/02/2015 09:40:00

Edouard_le_homard
Membre
Lieu : Sous un rocher noir
Inscription : 24/03/2012
Messages : 3 478

Re : [Résolu] KVM - partage de fichiers

OK, je récapitule :

L'idée est de configurer samba avec avec bind, afin d'écouter une seule interface réseau seulement, et de protéger le dossier partagé entre la machine virtuelle (VM) et l'hôte de fouineurs indésirables.
il est conseillé de ne pas mettre le partage dans /home, mais typiquement dans un emplacement type /serv

Voilà à quoi ressemble le /etc/samba/smb/conf :

[global]
        workgroup = WORKGROUP
        netbios name = Host
        server string = serveur %h (Samba %v, Fedora)
        # On souhaite n'autoriser l'accès que via certaines interfaces réseau
        bind interfaces only = Yes
        # Liste des interfaces réseau en question
        interfaces = 127.0.0.1, mon_ip
        log file = /var/log/samba/log.%m
        max log size = 100

[VirtShare]
        path = /home/edouard/dossier_partagé
        public = yes
        browsable = yes
        valid users = partage
        guest ok = yes
        writable = yes
        printable = no
        hide files = /lost+found/
        hide unreadable = yes

Ne pas oublier de redémarrer les services après modification de ce fichier :

systemctl restart smb nmb

Et tant qu'à faire, ne pas oublier de les activer au boot :

systemctl enable smb nmb

On peut tester la validité du fichier de conf avec :

testparm

Vérifier le pare feu :

iptables -L -n -v

Si les ports samba (137 138 139 445) ne sont pas dans le Chain IN_public_allow, faire un :

firewall-cmd --add-service=samba

De même, si firewalld est actif, penser à rajouter "samba" et "samba-client" en "permanent" dans la zone défini par firewalld.

Trouver son ip avec ip a, et la mettre dans le smb.conf . Puis, depuis l'hôte, tester l'accès avec un :

smbclient -N -L //mon_ip

On ajoute enfin un user samba nommé partage, avec lequel on se connectera depuis la VM au partage :

useradd -m -d /ton/home/pour/partage partage
smbpasswd -a partage

On peut tester l'accès depuis l'hôte :

smbclient //mon_ip/dossier_partagé -U partage

là, si un dir (ou ls) renvoit un NT_STATUS_ACCESS_DENIED listing \* ; rajouter faire un chmod o+x sur le dossier partagé

Dans le cas où SElinux est actif, faire un :

semanage fcontext -a -t samba_share_t '/dossier_partagé(/.*)?'
restorecon -R /dossier_partagé
setsebool -P samba_enable_home_dirs on

Concernant les droits, ça ressemble à :

drwxrwxr-x.  5 partage edouard  4096 14 déc.  20:20 VShare
[root@localhost data]# ls -Z VShare/
-rw-rw-r--. partage edouard unconfined_u:object_r:samba_share_t:s0 truc.txt

mon user est edouard, appartient au groupe edouard, et le user samba que j'ai créé s'appelle partage.

Si vous avez des remarques sur la rédaction, faites moi signe ;)
Est ce utile defaire un copié collé de ce tuto dans le wiki ?

Dernière modification par Edouard_le_homard (20/03/2015 18:13:24)


Asus VivoBook S 15 Fedora 29 x86_64 KDE

Hors ligne

#56 28/02/2015 10:58:07

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 7 368
Site Web

Re : [Résolu] KVM - partage de fichiers

Super! Juste une petite coquille

systemctl restart smb nmb

(juste enlever le "et").
Et si on le fait atterrir dans le wiki, on homogenisera les chemins.

Il y a déjà une doc dans le wiki pour un partage samba, mais elle a été faite pour F17, donc plus trop à jour, et utilise en plus l'interface graphique (sans capture). Donc ça serait peut être l'occasion de la refaire/completer.

Hors ligne

#57 28/02/2015 13:19:48

Edouard_le_homard
Membre
Lieu : Sous un rocher noir
Inscription : 24/03/2012
Messages : 3 478

Re : [Résolu] KVM - partage de fichiers

ok. je peux me charger de faire ce copier coller. Par contre je n'ai pas de compte wiki, etc. je ne sais pas si c'est plus simple pour un contributeur existant de faire ce copier coller, plutôt que je me crée un compte, etc.
Que veux tu dire par homogénéiser les chemins ?

j'édite le post précédent avec les permissions dans la minute ;)


Asus VivoBook S 15 Fedora 29 x86_64 KDE

Hors ligne

Pied de page des forums