liho
Bonjour,
J'ai suivi le tuto "Ajouter un serveur de partage de fichiers samba (Windows)" sur ce site, onglet "Documentation", catégorie "Réseaux et Serveurs". J'ai pu alors voir mes dossiers partagés mais impossible de lire le contenu. Aprés pas mal d'essais, j'ai vu sur un autre forum qu'il fallait déclarer SElinux en mode permissive, et effectivement, j'ai alors un accès total à ces dossiers partagés.
Mon problème est que je voudrais (si possible) garder le mode "enforcing". J'ai donc essayé de déclarer samba comme service "sur" et j'ai modifié la politique SElinux en cochant toutes les cases concernant samba grâce à l'outil Administration>Niveau de sécurité et Pare-feu, en gardant le mode enforcing.
Résultat impossible de lire le contenu des dossiers partagés. J'ai du revenir au mode permissive.
Est-ce une obligation ? Y-a-t-il un moyen d'utiliser samba en gardant le mode enforcing pour SElinux ?
Petit détail : j'utilise firestarter comme firewall et j'ai ouvert les ports 139 et 445 pour samba
autre détail : quand j'ouvre le port 139 avec l'outil Administration>Niveau de sécurité et Pare-feu, le port ouvert n'apparaît pas quand je relance cet outil (à cause de firestarter ?)
bochecha
Alors deja, il faut bien que tu differencies selinux et le pare-feu. Ils se reglent tous les deux a l'aide du meme utilitaire (Bureau->Administration->Niveau de securite et pare-feu) mais sont bien differents !
Maintenant, pour regler ca, je ne saurais que te conseiller d'attendre jeudi car apparemment FC6 integrera un outil tres interessant donnant une notification de chaque blocage de selinux et comment le resoudre, ce qui te permettrait de resoudre ton probleme des qu'il apparait 😉
A part ca, desole, mais selinux ca me depasse malgre mes efforts pour essayer de omprendre comment ca marche 🙁
liho
Merci quand même pour la réponse.
Ce n'est pas un pb bloquant de toute façon.
Je fais la différence entre firewall et SElinux, je me demandais seulement pourquoi le firewall intégré dans fedora (netfilter avec iptable à priori) ne faisait pas apparaître le port 139 que j'ai ouvert par ses soins. Est-ce parce que firestarter est installé (je crois que celui-ci à ces propres règles qui remplacent celles de iptable) ?
Je me pose cette question car dans le tuto il est indiqué d'ouvrir le port 139 en tcp avec l'outil fourni par fedora. Peut être serait-il utile de préciser d'ouvrir ce port avec le firewall actif (dans mon cas firestarter) dans le cas ou le port ne serait pas effectivement ouvert par le firewall de fedora quand un autre firewall est installé.
Sinon, je suis bien heureux d'apprendre que fedora s'améliore du côté de SElinux. Je suis en général super enthousiaste par l'évolution de cette distrib que j'ai définitivement adopté. Petit bémol pour l'automontage de hal qui n'est pas aisément configurable (cf un autre post de ma part pour l'ajout d'une option de montage), mais d'après ce que j'ai appris d'un testeur de fc6, ce problème sera réglé dans la prochaine version en utilisant gconf.
En attendant fc6, si quelqu'un à une solution à mon (petit) problème...
Cowboy
Avec l'interface graphique dans l'onglet SELinux, on peut désactiver SELinux pour samba ...
liho
J'ai déjà essayé (voir plus haut) et ça n'a pas marché.
As-tu essayé ? Ca marche sur ta machine ? Si oui, peux-tu me dire exactement les options à cocher (catégorie "samba", et éventuellement, catégorie "autre", ...), je referais un test.
Cowboy
Ca à fonctionné chez moi, j'ai tout coché dans Samba.
liho
OK, j'ai réessayé et ça marche.
Je sais pas pourquoi ça avait foiré la 1ère fois, peut être un manque de patience de ma part.
En fait je teste avec nautilus (Fichier>Se connecter à un serveur...) qui est un peu lent à établir la connection. Du coup, souvent un message d'erreur apparaît (impossible de lire...), mais quelques secondes plus tard, le contenu de mon dossier de partage s'affiche et j'y accède correctement (timeout un peu court ?).
Tout va bien donc, il me reste à sécuriser un petit peu (pour l'instant accès total pour tous et pour toutes les machines).
Merci à tous pour vos conseils...et à bientôt pour de nouvelles aventures :-D
Pypaper
Grâce à ce post j'ai résolu ce probleme chez moi. Mais il y'a autre chose:
Petit détail : j'utilise firestarter comme firewall et j'ai ouvert les ports 139 et 445 pour samba
autre détail : quand j'ouvre le port 139 avec l'outil Administration>Niveau de sécurité et Pare-feu, le port ouvert n'apparaît pas quand je relance cet outil (à cause de firestarter ?)
J'ai aussi ce probleme! A chaque fois il me faut taper en ligne de commande:
[root@WonDY ~]# system-config-securitylevel
ajouter le port 139 et après
[root@WonDY ~]# service smb restart
Fermeture des services SMB : [ÉCHOUÉ]
Fermeture des services NMB : [ÉCHOUÉ]
Démarrage des services SMB : [ OK ]
Démarrage des services NMB : [ OK ]
[root@WonDY ~]#
Comment rendre cela automatique (dès le démarrage)?
Merci d'avance.
grosminet
chkconfig --level 3 smb on
chkconfig --level 5 smb on
Pypaper
Je ne pense pas que ce soit le probleme (Samba demarre dès le démarrage du PC): c'est le probleme du port 139:tcp . Moi je peux acceder aux PCs des autres mais tant que je fait pas la manip (decrite plus haut... ) eux ne peuvent pas acceder au mien.
Sat
Dans system-config-securitylevel , coche les booléens suivants
>samba>Autoriser les utilisateurs à se connecter à des répertoires personnels CIFS
>samba>Autoriser Samba à partager les répertoires personnels
Et ça marche très bien en mode enforcing du moins chez moi, sans avoir à tripatouiller dans le parefeu.
Pypaper
J'ai ces deux cases là cochées (en fait toutes les cases à ce niveau sont cochées) mais ça marche pas. A chaque fois il faut que je passe par iptables pour que mon PC apparaisse dans le reseau .
grosminet
je n'utilise pas firestarter. par contre si tu utilise uniquement le firewall de fedora. tu pourras acceder à tes partages
Si tu passe en enforcing , il est necessaire de controler certains elements sur les droits selinux sur ton partage samba
se positionner sur la racine du repertoire de paratge
faire
ls -alZ
drwxr-xr-x nomutilisateurs users system_u:object_r:samba_share_t partage
il faut fixer les droits aussi dans les fichiers dans le repertoires de partages
par exemple le repertoire samba partage
restorecon -vv -F -R -r /opt/partage
fixfiles relabel
service smb restart
ls -aliZ
chcon -t samba_share_t /opt/partage
ls -aliZ
service smb restart
ainsi les partages fonctionnent en mode enforcing
selinux est un systeme supplementaire qui controle les droits aux fichiers et aux demons
les droits par ls -ali ne sont pas suffisants
il faut controler les droits par cette commande
Pypaper
Merci pour ton aide. En fait je crois que je ne me suis pas fait comprendre: ce n'est pas un probleme de droits. Ce que je veux c'est permettre à Samba d'écouter sur le port 139 de façon automatique sans que je ne sois obligé à chaque fois d'ajouter le port a niveau du pare-feu. Tant que ce port n'est pas ajouté ma machine n'est pas visible dans le réseau.
Je précise aussi que je n'utilise que le parefeu iptables (en fait le message sur firestater c'était jute pour citer liho).
liho
Pypaper wrote:# service smb restart
Fermeture des services SMB : [ÉCHOUÉ]
Fermeture des services NMB : [ÉCHOUÉ]
Démarrage des services SMB : [ OK ]
Démarrage des services NMB : [ OK ]
[root@WonDY ~]#
Vu d'ici, la fermeture des services smb et nmb échoue. A mon avis ça veut dire qu'ils n'étaient tout simplement pas démarrés. Chez moi, ça donne :
# service smb restart
Fermeture des services SMB : [ OK ]
Fermeture des services NMB : [ OK ]
Démarrage des services SMB : [ OK ]
Démarrage des services NMB : [ OK ]
Regarde de ce côté là.