Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/06/2011, 10h40   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Par défaut [sécurité] Mail automatique

Bonjour,

Je travaille actuellement sur un projet de réponse automatique de mail sur un serveur Linux.
J'ai pour mission de réutiliser un bash qui créait automatiquement un fichier ".procmailrc" dans /home/NomUtilisateur/ mais qui ne se faisait qu'en ligne de commandes..
Grâce à un formulaire fait en PHP je récupère les informations nécessaires puis tente de créer ce fichier en appelant ce bash au préalable modifié.
Lorsque j’exécute ce nouveau bash en ligne de commande tout fonctionne mais lorsque je l'appelle depuis mon fichier PHP, rien ne se passe, le fichier ".procmailrc" n'est pas créé et je n'ai pas de message d'erreur..
Le problème venant peut être des droits qui m'étaient accordés on m'a mis en administrateur, mais pareil, impossible de le créer.
Après quelques recherches sur internet on à essayé plusieurs solutions comme changer les droits de lecture/écriture/exécution de chaque dossier avec un "chmod 777" mais rien ne se passe et ça pourrait laisser de grosses failles de sécurité sur le réseau...
Ça va bientôt faire deux jours entiers qu'on planche sur le sujet sans jamais trouvé de solutions concrète et qui fonctionne, à notre problème...
La question est simple : Comment faire pour accorder les droits au PHP de créer un fichier dans /home/NomUtilisateur ?
C'est pourquoi je fais appelle à vous, si jamais vous avez une petite idée sur la question ça me ferait extrêmement plaisir de pouvoir l'essayer
En espérant avoir été assez précis, merci d'avoir lu.

Dev_elop
Dev_elop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 12h22   #2
Membre du Club
 
Homme
Inscription : mars 2007
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2007
Messages : 26
Points : 43
Points : 43
PHP est exécuté avec les droits de l'utilisateur qui le lance, logique.
Si tu le lance a partir d'un serveur web, c'est au serveur web qu'il faut que tu attribue les droits. Accessoirement, l'erreur serait visible dans les logs du serveur web.
delovan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 12h40   #3
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Tout d'abord merci delovan pour cette première réponse =)
Effectivement, dans les logs du serveur web il y a bien marqué que la permission est de le crée est non autorisé.
Cependant je n'ai aucune idée de la manipulation à faire pour changer cette permission.
Pourrais-tu m'éclairer sur ce point s'il te plait ?
Merci d'avance.

Dev_elop
Dev_elop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 17h26   #4
Membre du Club
 
Homme
Inscription : mars 2007
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2007
Messages : 26
Points : 43
Points : 43
Utilises-tu Apache ?

Si c'est le cas, on parle donc de l'utilisateur www-data.
Plusieurs solutions à partir de là, par exemple, faire un chown www-data du dossier ou tu compte écrire, et avoir des droits en 7XX, ou X représente ce que tu veux.
delovan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 10h05   #5
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Oui, je suis sous Apache.
Ce qui me gène le plus c'est de faire un chown sur les sous répertoires de /home.
Est ce que ça pose des problème de sécurité ?
Dev_elop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h45   #6
Membre du Club
 
Homme
Inscription : mars 2007
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2007
Messages : 26
Points : 43
Points : 43
Ah, j'avais mal lu, pas vu qu'on parlait de /home/~user

Tu peux attribuer à ces répertoires utilisateurs les droits d'écriture du groupe (donc 775), et ajouter www-data en groupe secondaire pour tes utilisateurs (man usermod ou modifier directement le /etc/group)
delovan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h28   #7
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Merci pour tous ces éléments de réponses.
Grâce à tes indications je tente tant bien que mal à résoudre ce problème...
J'y passerais peut être la journée mais j'y arriverais ! ^^
Je viendrais peut être reposer d'autres question sur ce sujet mais je vais déjà bien me documenter.
Dev_elop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 16h33   #8
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Tout d'abord désolé pour ce double post...
Je comprend vraiment pas pourquoi ça ne fonctionne pas, ça a pourtant l'air d'être si simple...
Le premier soucis que je rencontre c'est lorsque vous parlez de "www-data", ça peut paraitre stupide mais je me demande vraiment a quoi vous pensez en disant ça...
Pour le moment ce que j'ai fait c'est créer un groupe "A" qui a comme utilisateur les clients FTP. (situé en /usr/local/www/FTP_NomUtilisateur)
Chaque dossier /home/NomUtilisateur sont en "drwxrwxr-x" avec en propriétaire le "NomUtilisateur" et en groupe "A".
Ce qui, si j'ai bien compris ferais quelque chose du genre :
1) Mon client FTP_NomUtilisateur est dans le groupe "A".
2) Il cherche a accéder à /home/NomUtilisateur gràce à son appartenance au groupe "A".
3) Echec...

Dans mon error_log j'ai :
Citation:
[Fri Jun 17 16:07:34 2011] [error] [client ADRESSE_IP] PHP Warning: fopen(/home/NomUtilisateur/.procmailrc): failed to open stream: Permission denied in /usr/local/www/FTP_NomUtilisateur/creerProcmail.php on line 18
Mon dossier dans le /home :
Citation:
drwxrwxr-x. 2 NomUtilisateur A 4096 17 juin 15:59 NomUtilisateur
Je comprend plus rien, il doit vraiment y avoir quelques chose que j'ai mal saisi... ^^
Dev_elop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 11h13   #9
Membre du Club
 
Homme
Inscription : mars 2007
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mars 2007
Messages : 26
Points : 43
Points : 43
Désolé du temps de réponse, j'avais piscine ce week-end.

www-data est l'utilisateur qui fait tourner Apache, par défaut. Vos modifications sont bonnes, il suffit juste de rajouter l'utilisateur www-data au groupe A (en groupe secondaire), et ce sera bon !
delovan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h32.


 
 
 
 
Partenaires

Hébergement Web