Conflit selinux/apache
Bonjour,
je viens d'installer Centos 7 sur une machine
j'ai installé samba
puis créer un utilisateur user avec comme répertoire de base /var/www/html afin que ce dernier puise accéder et modifier les site web
j'ai ensuite changé le droit du répertoire html/
"chmod -R 0777 html/"
puis ajouté une règle pour selinux pour autoriser l'accès via samba
"chcon -t samba_share_t html/"
modifié smb.conf
"[www]
path = /var/www/html
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes"
redémarré smb & nmb
changé le propriétaire et le groupe du répertoire
"chown -R user:smbgrp html/"
l'accès au répertoire fonctionne parfaitement mais depuis la configuration de Samba j'ai
"Forbidden
You don't have permission to access ..." sur mes pages web !!?? oO
en étudiant les logs j'ai vu qu'il y avait un souci avec selinux
d'ailleurs quand je fait "setenforce 0" j'accède sans problème aux pages web ...
Quelqu un saurait il comment corriger ce problème ?
je viens d'installer Centos 7 sur une machine
j'ai installé samba
puis créer un utilisateur user avec comme répertoire de base /var/www/html afin que ce dernier puise accéder et modifier les site web
j'ai ensuite changé le droit du répertoire html/
"chmod -R 0777 html/"
puis ajouté une règle pour selinux pour autoriser l'accès via samba
"chcon -t samba_share_t html/"
modifié smb.conf
"[www]
path = /var/www/html
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes"
redémarré smb & nmb
changé le propriétaire et le groupe du répertoire
"chown -R user:smbgrp html/"
l'accès au répertoire fonctionne parfaitement mais depuis la configuration de Samba j'ai
"Forbidden
You don't have permission to access ..." sur mes pages web !!?? oO
en étudiant les logs j'ai vu qu'il y avait un souci avec selinux
d'ailleurs quand je fait "setenforce 0" j'accède sans problème aux pages web ...
Quelqu un saurait il comment corriger ce problème ?
A voir également:
- Conflit selinux/apache
- Apache open office gratuit - Télécharger - Suite bureautique
- Conflit adresse ip ✓ - Forum Réseau
- Windows à détecté un conflit d'adresse IP ✓ - Forum Réseaux sociaux
- Redemarrer apache - Forum Linux / Unix
- La requête n'a pas pu être traitée en raison d'un conflit d'accès à la ressource demandée. ✓ - Forum Mozilla Firefox
5 réponses
Bonjour,
Mon premier conseil serait de ne jamais régler sous linux un problème à coup de
La "bonne nouvelle" c'est que le "conflit" dont tu parles va t'obliger à faire les choses correctement.
En l'occurrence il faut que tu regardes comment gérer les droits samba.
https://doc.ubuntu-fr.org/system-config-samba
Vérifie le workgroup, que l'utilisateur est bien dans le groupe plugdev, et que le partage est configuré pour être accessible en écriture.
https://doc.ubuntu-fr.org/samba_smb.conf
https://forum.ubuntu-fr.org/viewtopic.php?id=392295
Personnellement je préconise une approche plus simple à mettre en place :
L'utilisateur windows se connecte en ssh via putty ou transfère des fichiers avec winscp. Il faut juste que l'utilisateur linux qui sera utilisé pour la connexion ssh ait des droits en lecture / écriture sur /var/www/html.
https://www.mistra.fr/tutoriel-linux-profils-et-droits.html
Bonne chance
Mon premier conseil serait de ne jamais régler sous linux un problème à coup de
chmod 777. En faisant ça tu as dit que n'importe qui pouvait altérer ces fichiers. De manière générale : on ne relâche jamais les droits sur un fichier sous linux, ça revient généralement à ouvrir un trou de sécurité, on augmente les droits de l'utilisateur qui a besoin d'y accéder (si c'est légitime).
La "bonne nouvelle" c'est que le "conflit" dont tu parles va t'obliger à faire les choses correctement.
En l'occurrence il faut que tu regardes comment gérer les droits samba.
https://doc.ubuntu-fr.org/system-config-samba
Vérifie le workgroup, que l'utilisateur est bien dans le groupe plugdev, et que le partage est configuré pour être accessible en écriture.
https://doc.ubuntu-fr.org/samba_smb.conf
https://forum.ubuntu-fr.org/viewtopic.php?id=392295
Personnellement je préconise une approche plus simple à mettre en place :
ssh:
sudo apt-get install ssh
L'utilisateur windows se connecte en ssh via putty ou transfère des fichiers avec winscp. Il faut juste que l'utilisateur linux qui sera utilisé pour la connexion ssh ait des droits en lecture / écriture sur /var/www/html.
https://www.mistra.fr/tutoriel-linux-profils-et-droits.html
Bonne chance
Merci pour ta réponse, je vais aller voir tes différents liens.
Mais mon problème ne se situe pas au niveau de Samba : mon utilisateur navigue et peut éditer les fichiers et dossiers dans /var/www/html/
mon problème est au niveau de selinux qui semble t il interdit l'acces web aux pages depuis que j'ai configuré samba.
si je mets setenforce 0 => je peux accéder aux pages web via un navigateur
si je remets setenforce 1 => j'ai une erreur 403 ...
Mais mon problème ne se situe pas au niveau de Samba : mon utilisateur navigue et peut éditer les fichiers et dossiers dans /var/www/html/
mon problème est au niveau de selinux qui semble t il interdit l'acces web aux pages depuis que j'ai configuré samba.
si je mets setenforce 0 => je peux accéder aux pages web via un navigateur
si je remets setenforce 1 => j'ai une erreur 403 ...
Oui ok je vois ton problème maintenant. Mais en fait ma réponse reste la même : au lieu d'utiliser samba utilise winscp c'est plus simple ? Car sinon il faut entrer dans selinux et comprendre comment définir les bonnes policy...
https://www.techrepublic.com/article/solutionbase-demystifying-selinux/
Une autre solution pour définir les bons droits consisterait à utiliser des acl.
https://doc.ubuntu-fr.org/acl
Bonne chance
https://www.techrepublic.com/article/solutionbase-demystifying-selinux/
Une autre solution pour définir les bons droits consisterait à utiliser des acl.
https://doc.ubuntu-fr.org/acl
Bonne chance
le problème c que l'utilisateur final est sous windows et veut pouvoir modifier le site à la volée et que les autres utilisateurs puissent voir en live l'évolution du site ...
c pas très simple pour un développeur de devoir
1 - modifier les pages
2 - les contrôler en local
3 - les mettre "en ligne" (alors que c déjà un serveur de test)
4 - avertir les autres utilisateurs que c en "ligne"
5 - une fois que c validé recommencer le process sur le serveur de prod
en fait mon souci c de dire a selinux ce répertoire est à la fois un répertoire samba ET un répertoire httpd .....
c pas très simple pour un développeur de devoir
1 - modifier les pages
2 - les contrôler en local
3 - les mettre "en ligne" (alors que c déjà un serveur de test)
4 - avertir les autres utilisateurs que c en "ligne"
5 - une fois que c validé recommencer le process sur le serveur de prod
en fait mon souci c de dire a selinux ce répertoire est à la fois un répertoire samba ET un répertoire httpd .....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je maintiens que la solution sur ssh est plus simple à mettre en place : tu peux monter un dossier par sshfs au même titre que ce que tu aurais fait par samba.
https://softwarerecs.stackexchange.com/questions/13875/windows-sshfs-sftp-mounting-clients
Ceci dit libre à toi de rester sur samba, c'est juste que tu devras du coup comprendre la syntaxe pour définir la politique de droit selinux appropriée (voir lien de mon message précédent). Personnellement ça me paraît bien compliqué mais pourquoi pas...
Bonne chance
https://softwarerecs.stackexchange.com/questions/13875/windows-sshfs-sftp-mounting-clients
Ceci dit libre à toi de rester sur samba, c'est juste que tu devras du coup comprendre la syntaxe pour définir la politique de droit selinux appropriée (voir lien de mon message précédent). Personnellement ça me paraît bien compliqué mais pourquoi pas...
Bonne chance