Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2008, à 23:06

Jesski

[Résolu] Besoin d'aide pour un message d'erreur

Bonsoir,
J'ai suivi le tuto pour installer lamp, tout fonctionne correctement, base de données, php etc. mais je rencontre un problème avec un fichier en php voici le message d'erreur que génère ce fichier :

Warning: include(/home/pk20/dhs/sc/x-au.php) [function.include]: failed to open stream: Permission denied in /home/pk20/dhs/log/keel/file.php on line 28

Warning: include() [function.include]: Failed opening '/home/pk20/dhs/sc/x-au.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/pk20/dhs/log/keel/file.php on line 28

This page cannot be displayed due to an internal error.

à la ligne 28 du fichier file.php, y a le code ci-dessous :

include ("/home/pk20/dhs/sc/x-au.php");

Il s'agit d'une mauvaise configuration ou un problème de permission ?

Merci d'avance pour votre aide.

Dernière modification par Jesski (Le 19/04/2008, à 17:08)


Ubuntu 18.04 sur mon PC, Debian 9 sur mes serveurs. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#2 Le 17/04/2008, à 23:08

Michoo

Re : [Résolu] Besoin d'aide pour un message d'erreur

je dirais persmiisson, essaye un chmod 777


Visiter pour 2€ l'aquarium de Saint Chamond près de Saint Étienne (42, Loire)
13 bassins d'un minimum de 700L.

Hors ligne

#3 Le 17/04/2008, à 23:12

Jesski

Re : [Résolu] Besoin d'aide pour un message d'erreur

Sur le fichier "file.php" ou le répertoire /home/pk20/ et sous-répertoire ?

Dernière modification par Jesski (Le 17/04/2008, à 23:12)


Ubuntu 18.04 sur mon PC, Debian 9 sur mes serveurs. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#4 Le 18/04/2008, à 11:05

atlante

Re : [Résolu] Besoin d'aide pour un message d'erreur

je dirais persmiisson, essaye un chmod 777

Tant qu'on y est, supprimons tous les mots de passe, travaillons en root, laissons la maison ouverte et les clefs sur la porte avec le code de la carte bleue !
Un problème de droit ne se résoud pas avec un chmod 777. Il s'analyse et il existe TOUJOURS une solution ne nécessitant pas un 777.
Etonnez vous si un jour vous êtes victime d'un piratage ou d'un virus sous linux ayant profité de droits trop laxistes...

Ton serveur web s'exécute avec l'utilisateur www-data.
L'utilisateur www-data ne semble pas pouvoir accéder à ton répertoire personnel (en tout cas au fichier /home/pk20/dhs/sc/x-au.php )
2 solutions:
1- mettre le fichier dans un emplacement accessible à la fois à pk20 et à www-data
2- laisser l'accès au home de pk20 à www-data

La solution n°2 ne me plait pas trop. En effet, si le serveur web est piraté par une faille, le pirate va prendre l'identité de www-data. Et comme il aura des droits sur ton home, il accèdera à tes fichiers. Autant travailler sur windows, ça évitera les pertes de temps à faire disparaitre les sécurités existantes sous linux.

La solution n°1 est celle adaptée à la situation (et c'est celle qui est utilisée, étrangement).

# on crée un répertoire non accessible dans la racine web
sudo mkdir /var/includes
# on copie le fichier à cet emplacement
sudo cp /home/pk20/dhs/sc/x-au.php /var/includes
# on donne les droits à l'utilisateur pk20 et on permet au groupe d'accéder
sudo chown -R pk20:www-data /var/includes
# on n'autorise l'accès seulement au proprio et au groupe. pk20 peut lire et écrire, www-data peut seulement lire
sudo chmod -R 750 /var/includes

Ne reste plus qu'à remplacer dans le fichier file.php

include ("/home/pk20/dhs/sc/x-au.php");

par

include ("/var/includes/x-au.php");

Hors ligne

#5 Le 18/04/2008, à 17:51

Jesski

Re : [Résolu] Besoin d'aide pour un message d'erreur

Bonjour tout le monde,

@ atlante

Merci d'avoir pris le temps de rédiger ton message, j'ai utilisé la première solution et ça marche à merveille pour l'include, mais par contre j'ai autres problèmes de permission concernant un répertoire "cache" qui doit être accessible au serveur en lecture et en écriture, avant de y'aller plus loin je tiens à vous donnez quelques détails à propos de mon répertoire www :

J'ai installé Lamp comme indiquer dans ce tuto, et j'ai également déplacer le répertoire www en utilisant un alias, pour le mettre dans /home/pk20/www/ afin de facilité l'accès ( copier, coller, éditer... des fichiers) mais aussi pour le mettre à l'abri car mon dossier /home est sur une autre partition que celle utilisée par le système.
Dans le dossier /home/pk20/www j'ai plusieurs sites, comme ceci : 
/home/pk20/www/site1 site2... et c'est ça le problème! dans les dossiers site1 et site2 y a des dossiers de "cache" qui doivent être accessible au serveur web en lecture et en écriture, comment je peux faire pour permettre au serveur d'écrire dans le dossier "cache" et sans négliger la sécurité ?


PS : il s'agit d'un développement en local pour faire des tests.

Dernière modification par Jesski (Le 18/04/2008, à 17:54)


Ubuntu 18.04 sur mon PC, Debian 9 sur mes serveurs. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne

#6 Le 18/04/2008, à 23:48

atlante

Re : [Résolu] Besoin d'aide pour un message d'erreur

Peu importe qu'il soit dans /var/www ou dans ton home ou n'importe où ailleurs: c'est le serveur apache qui va utiliser le dossier, donc il doit appartenir en RW à apache (par le proprio ou le groupe) pour fonctionner, et il peut t'appartenir (par le proprio ou le groupe) pour l'édition.
Mais c'est à toi d'accéder aux documents de www-data, et non à www-data d'accéder à tes documents.
Donc, pour ton cas:

sudo chown -R www-data:pk20 /home/pk20/www/site1/cache
sudo chmod -R u+rw /home/pk20/www/site1/cache # le proprio (apache) peut lire et écrire dans les fichiers
sudo chmod -R g+rw /home/pk20/www/site1/cache # lle groupe (toi) peut lire et écrire dans les fichiers
sudo chmod 750 /home/pk20 # on s'assure que le répertoire est traversable par apache
sudo chmod 750 /home/pk20/www# on s'assure que le répertoire est traversable par apache

A faire pour tous les répertoires où les droits d'écriture sont nécessaires (et surtout pas su tout le site!). En général, une fois installé, le site ne nécessite les droits d'écriture que sur 2 ou 3 dossiers (cache, upload, avatars, logs...).

D'accord qu'il s'agisse d'une machine de test. Mais je vois tous les jours des gens faire des chmod 777 sur une machine de test puis envoyer les fichiers sur le serveur sans restreindre les droits pour ensuite s'étonner qu'ils soient piratés (je croyais que je ne craignais rien avec linux ?!).
Quand on utilise le 777, avec un -R, c'est qu'on ne VEUT pas chercher une autre solution: c'est donc qu'on ne maîtrise pas ce qu'on fait. Un 777 est TOUJOURS une mauvaise idée.

Dernière modification par atlante (Le 18/04/2008, à 23:51)

Hors ligne

#7 Le 19/04/2008, à 17:06

Jesski

Re : [Résolu] Besoin d'aide pour un message d'erreur

Merci beaucoup pour ces explications, ça marche très bien et sans un chmod 777 smile

Dernière modification par Jesski (Le 19/04/2008, à 17:07)


Ubuntu 18.04 sur mon PC, Debian 9 sur mes serveurs. Config mini ITX :
CM : ASRock Fatal1ty AB350 Gaming ITX/ac. Ram : Corsair 8GB DDR4. CPU : Ryzen 5 1600. CG : MSI GeForce GT 1030 2GH OC. 120GB SSD + 1TB pour la partition home.
Usage : programmation, bureautique, compatibilité,  photoshop (virtualisation).

Hors ligne