problème avec les répertoires utilisateurs RESOLU [APACHE] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 06-05-2003 à 10:17:04
en lisant la doc _incluse_ avec apache ? voir meme le httpd.conf qui est assez explicite ...
En gros au niveau de apache tu as deux niveaux de sécurité on dira .
pour qu'un fichier sur ton ordi soit lu il faut que
1)apache est _effectivement_ le droit de le lire
2)que les regles du directory permettent de lire le fichier en question
exemple simple tiré du httpd.conf
|
Marsh Posté le 06-05-2003 à 10:46:04
Pfiou.... c'est dingue les trucs qu'on apprends
1) pour pouvoir accéder à un fichier il faut que apache est le droit de le lire? Sans dec
2) même avec un chmod -R 777, ça ne marche pô
voici la partie de mon httpd.conf concernant le mod_user :
Code :
|
pas de grosse différence avec le tiens, non?
3) je sais lire merci.
Marsh Posté le 06-05-2003 à 11:04:38
désolé de m'être emporté Mikala, j'ai cru que tu me prenais pour un teubé.
C'est bien évidemment un problème de user et de groupe, mais j'ai du mal à m'en dépétrer, donc ça m'irrite
Marsh Posté le 06-05-2003 à 11:22:19
bon j'ai fait quelques modifs :
apache tourne maintenant en tant que machin:users
le répertoire /var/www (et ses sous répertoires) appartiennent à machin:users
les utilisateurs appartienent au groupe users, par exemple gregory appartient à gregory:users, son home dir aussi évidemment ainsi que tous les sous-répertoires.
J'ai fait un chmod -R 775 sur mon répertoire public_html.
bien entendu le module mod_userdir est chargé :
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
mon site web marche toujours nickel
ET pourtant ça ne marche toujours pas !!!
Faut-il un autre module?
Marsh Posté le 06-05-2003 à 12:00:48
Hum je pense pas que ce soit un probleme d'users dans le sens ou tu parles
exemple chez moi , httpd tourne sous nobody sans aucun groupe particulier
& j'ai
drwxr--r-x 10 mikala mikala 4096 2003-05-03 13:09 public_html |
tiens vires les balises <IfModule > avant .
ensuite tu as quoi comme messages d'erreurs dans tes logs ?
--
messsage subliminal PureFtpd c'est mieux
Marsh Posté le 06-05-2003 à 12:25:19
dans les logs j'ai pô grand chose :
193.252.105.230 - - [06/May/2003:11:11:09 +0200] "GET /~gregory/index.html HTTP/1.1" 403 229 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
erreur 403
rien dans error.log
j'ai virer la condition ifModule, apache a redémarré nickel, mais ça ne change rien. donc le module est bien chargé...
Marsh Posté le 06-05-2003 à 12:42:20
bah non, j'vois pô...
si tu veux y jeter un coup d'oeil, le miens est là : http://www.icilalune.fr/tmp/httpd.conf
le problème viens peut-être de mes Vhosts?
Marsh Posté le 06-05-2003 à 12:51:06
hum
<Directory /var/www/*/web> |
pk tu mets cela ?
la je sais pas trop l'interet ~.~
si c'est pour les vhosts il vaut mieux a mon avis les définir dans le vhost.conf
Marsh Posté le 06-05-2003 à 12:53:33
c'est effectivement pour les Vhosts
en fait en théorie je devrais mettre /var/www/home/web pour coller au documentRoot général, mais comme les Vhosts sont stockés dans des répertoires ayant le même schéma (sauf qu'à la place de home, c'est site1, site2...) je me suis dit que c'était plus simple et plus lisible, ça évite de surcharger le fichier Vhosts.conf avec n fois la même chose...
non?
Marsh Posté le 06-05-2003 à 13:05:25
dans ce cas il y a justement des choses dédiés pour ce faire ( si tu en as bcp de vhosts) .
mod_vhost par exemple (je m'en servais par le passé )
sinon tu peux te servir de mod_rewrite mais il est un peu plus chaud ~.~
sinon tu as testé juste pour voir sans le /var/www/*/web ? ( si le ~user passe )
Marsh Posté le 06-05-2003 à 13:10:31
j'comprends pas???
j'utilise les directives standard pour les Vhosts, voici d'ailleurs un extrait de mon fichier :
http://www.icilalune.fr/tmp/Vhosts.conf
pourquoi veux-tu que je m'em***de avec mod_vhosts ou pire mod_rewrite?
je vais tester en mettant /var/www/home/web pour voir si ça passe, car j'en ai qd même besoin de cette ligne sinon le documentRoot ne marche plus.
j'ai testé et ça ne change rien...
j'vais essayé de désactiver les Vhosts pour voir...
pareil, j'ai mis en commentaires les includes pour les Vhosts et mis /var/www/home/web à la place de /var/www/*/web ça ne change rien
Marsh Posté le 06-05-2003 à 13:47:09
en fait tu as mais un virtualhost *
le premier virtual host défini sera également le serveur web par défault meme si on rentre par l'ip dessus .
(bref le document root n'est pas réellement respecté )
a priori tu as aussi deux virtuals host partageant le meme répertoire , dans ce cas tu peux faire un Serveralias au lieu de définir un nouveau virtual host .
(& puis j'ai ne t'ai pas dis de t'emmerder avec mod_vhost mais c'était au cas ou tu disposais de bcp de vhost & que tu voulais justement éviter de redéfinir des cgi-bin & co (quoique lui est assez simple en fait car une fois mis en place tu n'as plus besoin de retoucher ce niveau , tu te contentes de mettre un repertoire la ou il faut ) )
Marsh Posté le 06-05-2003 à 14:05:09
ok je comprends, en effet pour la beauté de la chose je peux virer DocumentRoot /var/www/home/web de httpd.conf et mettre
<Directory /var/www/*/web>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
dans le Vhosts.conf
mais bon l'avantage c'est que au cas où je désactive include de Vhosts.conf, j'ai qd même mon premier site qui marche alors que si je vous tout dans Vhosts.conf y'a pu rien
Sinon j'connaissais pas ServerAlias, c'est vrai que ça évite de définir deux Vhosts différent, j'vais essayer...
Edit : j'ai mis ServerAlias www.icilalune.com www.icilalune.fr
ça fout l'bordel dans mes redirect, parce que maintenant ils sont tous redirigés vers www.icilalune.com
M'enfin bref, malheuresement c'est pas ça qui fait que mes user_dir ne marchent pas
Marsh Posté le 06-05-2003 à 14:17:13
ce serait plus ServerAlias www.icilalune.fr mais j'ai pas pris en compte les Redirect dans ton vhost en effet
question bete tu as bien un repertoire public_html dans les comptes des utilisateurs & il est bien en +x ? (je sais plus ce que j'ai dis & j'ai la flemme de me relire )
car la ca commence a etre bizarre
en fait ce qui me pose probleme c'est l'utilisation de * dans ta directive Directory .
(tiens d'ailleurs je vais remettre mod_vhost sur le mien )
Marsh Posté le 06-05-2003 à 14:23:59
le voilà :
drwxrwxr-x 2 gregory users 4096 mai 6 11:09 public_html
il est en 775 (j'l'avais mis comme ça pour tester) mais ça change rien, j'ai même mis le fichier index.html en 777 pour rigoler
pourquoi le * te pose problème, c'est une wildcard, c'est tout.
Dans tous les cas avec ou sans, et avec ou sans Vhosts ça change rien alors
il me manquerait pas un module essentiel par hasard? J'pense pas sinon mod_userdir ne démarrerait pas.
Marsh Posté le 06-05-2003 à 14:47:34
je sais que c'est une wildcard , mais en fait j'ai peur d'un conflit avec la wildcard de userdir par la suite c'est pour cela ~.~ ( en fait du fait d'avoir joué avec _vhost je m'attends plus a des % & co ) quoiqu'en réfléchissant 5 secondes c'est un peu con comme crainte
tu as bcp de vhosts ? ( sinon tu veux pas juste tester meme si c'est _tres_ lourd ) de définir les directory dans chaque vhost (ou tout du moins sur les deux premiers .& commenter ce /var/www/*/web ) ?
Marsh Posté le 06-05-2003 à 14:54:18
bah j'veux bien mais je l'ai déjà fait puisque j'ai déjà essayer de désactivé tous les Vhosts (en virant l'include) et que j'ai virer la wildcard, et ça marchait pô.
Donc...
Marsh Posté le 06-05-2003 à 15:05:58
bah c'est justement c'est justement userdir_mod qui t'apporte le ~
je suis en train de désactiver mes modules a tour de bras pour tester ~.~
Marsh Posté le 06-05-2003 à 15:09:42
il est fou
j'vais essayer l'inverse, remettre tous les modules que j'ai désactivés
Edit : c'est marrant en réactivant tous les modules le site ne fonctionne plus
j'vais les réactiver un par un...
Marsh Posté le 06-05-2003 à 15:20:41
bon rien n'y fait ~.~
je trouve pas
tu devrais essayer de mailer la ml debian peut etre que quelqu'un a déja eu ce probleme
Marsh Posté le 06-05-2003 à 15:21:34
bah j'trouve pas non plus, merci d'y avoir consacrer autant de temps
Marsh Posté le 06-05-2003 à 15:25:10
<mode chiant>
tu veux pas essayer d'en compiler un par toi meme vite fait a coté ? & donc de voir si ca marche (tu le fais tourner sur un autre port afin de ne pas couper ton autre serveur ;p ) , si oui c'est peut etre ton packtage qui a merdé ~.~
tu as vérifié les updates tiens ?
</mode chiant>
Marsh Posté le 06-05-2003 à 15:57:23
[mode chiant OFF]
j'ai pas envie de tout foutre en l'air, j'suis pas assez à l'aise pour faire ce genre de chose...
[mode chiant OFF]
apt-get update
apt-get upgrade
juste avant
Marsh Posté le 06-05-2003 à 16:40:54
trouvé c'était un problème tout con
public_html avait bien les bonnes autorisations (même trop ), mais il faut aussi que le home dir du user soit accessible à apache pour que ça marche, donc un un ch'ti chmod -R 754 sur le home dir et ça marche...
Marsh Posté le 06-05-2003 à 10:06:30
Salut à tous,
j'ai un serveur web qui marche nickel, c'est une debian, avec apache php mysql... et proftpd pour le ftp.
Tout marche bien donc sauf les userdir.
voici ma config :
afin de pouvoir ftp sur le répertoire web, apache ne tourne pas en tant que wwwdata mais en tant qu'un user normal possédant un bash, j'ai modifié le home directory de ce user (que nous appellerons machin:machin) en /var/www/ come ça qd je me logue avec le ftp je tombe sur le DocumentRoot d'apache.
Le blème donc c'est que j'essaie de faire fonctionner les répertoires utilisateurs pour que qd on tape http://www.mondomaine.com/~monuser/ on tombe sur sa page perso.
mais quand je fait ça j'ai l'erreur suivante : "vous n'êtes pas autorisé à afficher cette page."
comment faire marcher ça? Sachant que évidémment les home directory des users leur appartiennent et que les users appartienent au groupe users. Ils n'appartiennent donc évidemment pas à machin:machin et encore moins à wwwdata:wwwdata (au cas où j'aurais laisser le truc par défaut.)
comment kon fait?
Message édité par duch le 06-05-2003 à 16:41:12