Apache et protection du public_html - Linux et OS Alternatifs
Marsh Posté le 17-04-2006 à 11:01:51
tu peux changer le propriétaire de public_html, mettre apache (je ne sais plus son utilisateur), et ne mettre que des drotis pour son proprio
Marsh Posté le 17-04-2006 à 12:03:04
je déplace dans la cat appropriée.
Marsh Posté le 17-04-2006 à 13:05:46
Je ne comprends pas vmt.
faire un chown pour www-data ?
L'user n'aura alors plus accès à ce dossier ? me trompe-je ?
Marsh Posté le 18-04-2006 à 14:57:08
Si tu n'autorise la lecture que pour son propriétaire, alors els autres utilisateurs n'y auront plus accès
Marsh Posté le 20-04-2006 à 07:40:26
Un ptit .htaccess et en voiture Simone ?
Marsh Posté le 20-04-2006 à 08:53:25
Fork Bomb a écrit : Un ptit .htaccess et en voiture Simone ? |
non, il veut empecher les autres utilisateurs d'avoir acces à ce répertoire en SSH !
solution:
droit: 750 ie: rwxr-x---
Owner: l'utilisateur groups: www-data (ou le groupe sous lequel s'execute apache)
Marsh Posté le 21-04-2006 à 05:01:51
l0ky: En effet on ne peut plus lister le contenu (depuis un autre utilisateur), mais :
_ l'utilisateur, ne peut plus créer de fichiers dans son public_html
Ok, j'ai modifié les droits en 770.
Chaque nouveau fichier créer, appartient à l'utilisateur (bye www-data).
D'après mes tests, cette solution semble "sécurisante", puisque le dossier "public_html" a pour propriétaire "www-data".
D'accord avec moi ?
Merci l0ky
Marsh Posté le 21-04-2006 à 05:14:53
Dernières questions:
J'ai actuellement un dossier "public_html" dans /etc/skel histoire qu'il soit automatiquement ajouté lors d'un adduser.
Est-il possible de lui attribuer les bons droits (770), et le bon propriétaire (www-data) lors de l'adduser ?
Lors d'un deluser, le repertoire de l'utilisateur dans /home ne se supprime pas ; je pense que c'est à cause de ce www-data, puisque sans cette modif, le repertoire est bien supprimé lors d'un deluser
Marsh Posté le 21-04-2006 à 07:51:43
Cytelis a écrit : l0ky: En effet on ne peut plus lister le contenu (depuis un autre utilisateur), mais : |
Heu... avec 750 (rwxr-x---) l'utilisateur (le propriétaire du dossier) doit pouvoir créer tout ce qu'il veut dedans.
Les gens du meme groupe que le dossier doivent pouvoir lister et consulter le contenu de ce répertoire.
Marsh Posté le 21-04-2006 à 13:54:07
Si je met en propriétaire du dossier "www-data" et que ce public_html est dans toto, toto n'est donc pas propriétaire de public_html, il ne peut donc pas créer à l'interieur ?
Marsh Posté le 21-04-2006 à 13:56:28
bah si tu mets www-data proprio de public_html, non toto ne sera pas proprio de public_html
logique non
Marsh Posté le 21-04-2006 à 14:19:30
C'est donc pour cela que j'ai rajouté les droits d'écriture à public_html, puisqu'il a pour groupe "toto".
Maintenant, plusieurs petits problèmes se présentent :
_ Lors du deluser, le dossier dans home, n'est plus supprimé ?!
_ Certains scripts php n'arrivent pas à include (permission denied)
Marsh Posté le 21-04-2006 à 14:21:52
personnellement j'aurais plutot donné l'appartenance a toto et le groupe www-data
www-data n'as pas besoin d'ecrire dedans. par contre toto oui.
Marsh Posté le 21-04-2006 à 14:34:14
Je résume donc ce que j'ai fait :
_ chown toto public_html
_ chgrp www-data public_html
_ chmod 770 public_html (j'ai hésité: 770 ou 750 ?!)
Actuellement les fichiers contenu dans public_html :
-rwxrwxr-x 1 toto toto 839 2006-04-21 04:18 index.php
Le problème d'include ne semble pas résolu, cela ne viendrait-il pas des droits pour "les autres" qui sont nulles ?
Marsh Posté le 21-04-2006 à 14:38:35
Le problème est que public_html doit être accessible à Apache (user www-data, nobody ou apache, selon la distrib). Or il est souvent facile, surtout avec un accès ssh, d'obtenir les droits de cet utilisateur (vulnérabilité locale, en passant par un script php, etc.).
Une solution serait de configurer Apache pour qu'il prennent les droits de l'utilisateur courant, lorsqu'il doit afficher un userdir. De cette façon, on peut configurer les droits d'accès de public_html pour qu'il ne soit accessible qu'à l'utilisateur en question (700). Il sera donc accessible à Apache pour servir du contenu, et inacccesible aux autres utilisateurs.
On peut faire ça avec des modules (mod_suphp, etc.), cependant je n'ai jamais essayé.
Marsh Posté le 21-04-2006 à 14:59:48
Enfin ou alors tu t'embetes pour rien, si ce n'est que les ficheirs config.php que tu veux cacher,
tu met comme propriétaire www-data sur ces fichiers et tu nautorise la elcture quau propriétaire, et c'est réglé
Marsh Posté le 17-04-2006 à 02:16:53
Bonjour,
est-il possible d'empecher l'accès au /home/*/public_html par les autres utilisateurs en ssh ?
Si j'enleve le droit de lecture au public_html, le site n'est plus visible.
Je trouve cela embetant que le public_html puisse être lister, pour les fichiers de config.php...
Une solution ? merci
Config: Apache - linux