IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Permission Denied apache fichier crée par suPHP


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Permission Denied apache fichier crée par suPHP
    Bonjour,

    Je rencontre actuellement quelques problèmes de configuration avec apache et suPHP.

    J'ai une machine avec plusieurs vhost, chacun configuré avec un user/group différent par la directive 'suPHPUserGroup'.

    Tout fonctionne parfaitement au niveau de PHP, le problème se pose lorsque je crée un fichier avec PHP, il a les droits de l'utilisateur défini dans la directive 'suPHPUserGroup' mais si je souhaite le télécharger Apache essaye d'y accéder avec ses propres droits (www-data:www-data) et du coup j'ai un Permission denied.

    Que faut-il modifier pour ne plus avoir ce problème?

    Je ne souhaite pas passer par une solution de chmod ou de chown à faire dès que je crée un fichier...

    Merci.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ce "permission denied", c'est le message d'erreur qu'Apache renvoie à ton navigateur ou c'est dans les logs d'erreur d'Apache que tu as trouvé que c'était un problème de droits ? Est-ce que ça ne pourrait pas être un .htaccess par exemple avec un Deny from all qui causerait le problème ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    En fait le message exact sur la page est :

    Forbidden

    You don't have permission to access /toto.csv on this server.
    et dans les logs j'ai :

    [Fri Jun 05 11:14:12 2009] [error] [client **ip**] (13)Permission denied: file permissions deny server access: /toto.csv, referer: http://**ip**/****/
    Les droits du fichier en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -rw------- 1 default default 15854 2009-05-28 18:13 toto.csv
    Dans ma configuration apache j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User www-data
    Group www-data
    et la configuration du vhost :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    NameVirtualHost *:80
    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /home/default/www
            SuexecUserGroup default default
            AddHandler x-httpd-php .php
            ServerSignature Off
    </VirtualHost>
    Sachant que tout fonctionnait très bien jusqu'à ce que je rajoute suPHP pour faire en sorte de pouvoir gérer des droits différents pour créer des vhosts supplémentaires.

    Merci.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je ne connais pas suPHP mais n'y a-t-il pas moyen de définir un umask ? Un umask est les droits à appliquer lorsqu'un utilisateur crée un fichier. Ainsi, tu peux mettre un umask 644 par exemple pour que le groupe et les utilisateurs autres aient accès en lecture au fichier.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Je n'y connais rien en ce qui concerne les umask

    Voici ma configuration de suPHP il y a une variable umask dedans peut-être que ça t'aidera à m'aider ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    [global]
    ;Path to logfile
    logfile=/var/log/suphp/suphp.log
     
    ;Loglevel
    loglevel=info
     
    ;User Apache is running as
    webserver_user=www-data
     
    ;Path all scripts have to be in
    docroot=/
     
    ;Path to chroot() to before executing script
    ;chroot=/mychroot
     
    ; Security options
    allow_file_group_writeable=false
    allow_file_others_writeable=false
    allow_directory_group_writeable=false
    allow_directory_others_writeable=false
     
    ;Check wheter script is within DOCUMENT_ROOT
    check_vhost_docroot=false
     
    ;Send minor error messages to browser
    errors_to_browser=false
     
    ;PATH environment variable
    env_path=/bin:/usr/bin
     
    ;Umask to set, specify in octal notation
    umask=0022
     
    ; Minimum UID
    min_uid=100
     
    ; Minimum GID
    min_gid=100
     
     
    [handlers]
    ;Handler for php-scripts
    x-httpd-php=php:/usr/bin/php-cgi
     
    ;Handler for CGI-scripts
    x-suphp-cgi=execute:!self

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas de chance : 0022, c'est la bonne valeur

    Ton fichier, il est créé par upload ou par un fwrite ou un truc du genre ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Hm ça marche maintenant ^^

    En fait j'ai passé à 022 juste avant mon post (je suis tombé sur la conf de quelqu'un d'autre qui avait mis 022) avant j'avais 066. Et j'avais testé de télécharger un fichier j'avais la même erreur, mais après avoir retesté en recréant le fichier ça marche

    Et autrement je faisais ça avec fopen/fwrite oui.

    Par contre la si je crée un vhost2 avec un autre user/pass, il aura accés en lecture à tous les fichiers du vhost1 non ? Si c'est le cas y aurait pas une autre solution?

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    A priori, oui. La solution c'est peut-être d'avoir un utilisateur et un groupe différent par VH, de faire un chmod/umask pour que seuls l'utilisateur et le groupe aient accès au répertoire et au fichier, et de mettre l'utilisateur www-data dans chacun de ces groupes.

Discussions similaires

  1. gestion des fichiers crées par une base de donnée installée sur linux
    Par jo-concept dans le forum Administration système
    Réponses: 2
    Dernier message: 29/03/2011, 21h01
  2. Réponses: 1
    Dernier message: 09/06/2009, 13h43
  3. modifier fichier permission denied
    Par fara morgana dans le forum Langage
    Réponses: 12
    Dernier message: 14/06/2006, 15h32
  4. Extensions de fichiers gérées par Apache
    Par JoN28fr dans le forum Apache
    Réponses: 2
    Dernier message: 03/04/2006, 18h30
  5. [Système] fopen()Permission denied sur Apache
    Par manaboko dans le forum Langage
    Réponses: 9
    Dernier message: 15/09/2005, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo