Ubuntu : apache et DMRC (permisisons)

Résolu/Fermé
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 - 18 juin 2009 à 08:37
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 21 juin 2009 à 00:51
salut à tous.

Enfait j'ai un petit problème à résoudre sous Ubuntu, et cela relève plus de l'énigme que d'un véritable problème.

1) Lorsque je me logue surma session, il me dit une érreur :

Le fichier $HOME/.dmrc de l'utilisateur à été ignoré. Ceci empêche de sauver la session et la langue par défaut. Le fichier devrait apartenir à l'utilisateur et avoir les permissions 644. Le répertoire de l'utilisateur doit appartenir à l'utilisateur et ne doit pas être accéssible en écriture par d'autres utilisateurs.

Je fait alors OK puis la session démarre normalement.

Voulant résoudre le problème, je vais dans /home/ et je change les permissions du dossier "staryu" (mon login) en décochant les cases entouré sur cette image.

Le méssage d'érreur n'apparait plus.

L'ennuie, c'est que maintenant, lorsque je lance ma page web en php en local, avec Apache, il me dit ERROR 503 : forbidden!

En effet, j'ai mon dossier web dans mon dossier personnel (dans Documents c'est encore pire). et je met un lien dans /var/www/.

La solution serait de mettre le dossier entier dans /var/www, mais je n'aime pas trop mettre des fichier en écriture par tout le monde dans un dossier système... Apache à besoin de fichiers en écriture et exécutable, donc avec des permissions bien définis.

Comment faire pour que Apache ait ses permissions et que DMRC soit en lecture par moi. Sur l'image, les cases en bleu doivent être cochés (sinon apache ne peut pas accéder aux fichiers), mais doivent être décochés pour DMRC...

merci à tous
A voir également:

9 réponses

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
18 juin 2009 à 10:34
Est ce que tu es sûr que les droits sont corrects ?
ls -l $HOME/.dmrc

Normalement tu dois voir pour .dmrc rw-r--r--.

Si ce n'est pas le cas :
chown $USER $HOME/.dmrc
chmod 644 $HOME/.dmrc

En effet, j'ai mon dossier web dans mon dossier personnel (dans Documents c'est encore pire). et je met un lien dans /var/www/.

Peux-tu me donner avec un ls -l l'allure de ton lien ? C'est bien un lien symbolique ?

La solution serait de mettre le dossier entier dans /var/www, mais je n'aime pas trop mettre des fichier en écriture par tout le monde dans un dossier système... Apache à besoin de fichiers en écriture et exécutable, donc avec des permissions bien définis.

Non parce que "tout le monde" n'a pas un login 'staryu' donc aura des droits réduits. Il suffit de veiller à ce qu'ils aient les droits en lecture mais pas en écriture.

En fait la vraie solution ce serait que les fichiers requis pour apache (ton site je présume) soit à sa place dans /var/www avec les droits adéquats et que tu crées dans ton home un lien symbolique vers ce répertoire.

Bonne chance
0
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 057
18 juin 2009 à 11:21
merci!

Euh là en fait, je viens de faire un ls -l $HOME/.dmrc et il me répond :

-rw------- 1 staryu

donc je peux écrire et lire dedans, mais personne d'autre, c'est bien cela?

aprés la commande pour remettre les permissions, c'est bon, j'ai bien -rw-r--r--

Pour l'allure du lien : il me renvoie (de ls -l /var/www)

lrwxlrwxlrwx 1 staryu staryu (date) blog -> /home/staryu/Site/blog

(j'ai fais un clic droit puis "créer un lien")


Pour la solution, de tout mettre dans "var/www" puis un lien dans Home, j'y avais pas pensé... Merci de l'info.



Mais pour l'insant, j'ai pris mon dossier personnel, j'ai changé les droits d'écriture suelement pour avoir
drwxrwxr-x

dans tout mes fichiers perso. Ca semble marcher.
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
19 juin 2009 à 00:43
donc je peux écrire et lire dedans, mais personne d'autre, c'est bien cela?

Oui

lrwxlrwxlrwx 1 staryu staryu (date) blog -> /home/staryu/Site/blog

Bah voilà, il est là le problème. Le site doit être dans /var/www et le lien symbolique doit partir de ton home.

Mais pour l'insant, j'ai pris mon dossier personnel, j'ai changé les droits d'écriture suelement pour avoir
drwxrwxr-x


Euh bof c'est pas terrible de relâcher les droits sur des répertoires, c'est justement ce qui fait la solidité d'un linux. En plus avec ce que tu indiques, tout les membres du groupes propriétaires peuvent écrire supprimer modifier le contenu de ce répertoire.

Au risque d'insister je t'invite à remettre les droits comme il faut et à créer ton lien symbolique dans le bon sens. Après c'est à toi de voir...

Bonne chance
0
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 057
19 juin 2009 à 09:47
Ok! S'il y'a un risque de sécurité, je préfères t'écouter : mettre le dossier dans var/www et un lien dans $Home

Je vais mettre tous fichier de mon home en

lrw-lr--lr--


Par contre, je devrait mettre le dossier var/www en lrwxlr-xlr-x (car le php est éxécutable).


Merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
19 juin 2009 à 10:36
Il faut pas te mélanger les pinceaux. Pour pouvoir "visiter" répertoire, un utilisateur doit avoir les droits en exécution sur le répertoire, mais ça ne lui donne a priori aucun droit en exécution sur son contenu. Si l'un des fichiers doit être exécutable, c'est donc bien celui-ci qui doit avoir les droits en exécution (ainsi que la chaîne de répertoire parents).

Ceci dit je ne vois pas ce que tu cherches à rendre exécutable. Dans le /var/www/... qui contient ton site normalement il n'y a que des fichiers php, html, des images etc... mais rien qui n'a a priori besoin de droits en exécution.

Bonne chance
0
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 057
19 juin 2009 à 20:47
Si, le PHP.

Sinon, apache me donne l'érreur...


Euh, je viens de tester, en fait non. J'ai mis un fichier en "non exécutable" mais ça marche. Je suis un peu perdu là.


Avant, tant que je ne définissait pas des droits d'exécutions au dossier, il me disait "permission denied"... Bizarre...



Tu me dis que ce doit être le dossier qui doit avoir des droits d'exécution, donc il ne faut pas que je fasses "appliquer aux fichiers inclus"??
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
20 juin 2009 à 02:11
Pour qu'un utilisateur puisse visiter un dossier, il doit avoir les droits en exécution sur ce fichier (je rappelle que sous linux la notion de fichier est plus générique que sous windows). Mais en aucun cas il n'a besoin d'avoir les droits en exécution sur les fichiers contenus dans ce dossier pour le visiter.

Dans ton cas, seul les dossiers que php peut être amener visiter devrait avoir les droits en exécution. Par exemple si ta page php a besoin d'accéder à un répertoire d'image, celui-ci doit avoir des droits en exécution pour php, mais les images n'en ont pas besoin.

Bonne chance
0
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 1 057
20 juin 2009 à 15:38
ok, ok!

J'ai compris. Merci!
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
21 juin 2009 à 00:51
Parfait :-) Bonne continuation !
0