• # Solution

    Posté par (site web personnel) . En réponse au message Apache et mod_security. Évalué à 0.

    Tom problème dois venir du fait que apache ou cet abruti de start-stop-daemon (ui ui il varifie le chemin avant de chrooter du coup il cherche dans le / au lieu du chroot et il trouve pas et il démare pas bien sur!) cherche ton /www avant d'être chrooté.

    Tu a deux solution :
    Te faire un tit programme en C qui te chroot tout le bouzin comme il faut (si c'est start-stop-daemon qui chie) :
    loader.c:
    #include <unistd.h>
    #include <sys/types.h>
    #include <errno.h>
    int main(int argc, char** argv, char** envp)
    {
    if (chroot("/chroot/apache/") == -1)
    perror("Chroot");
    if (chdir("/") == -1)
    perror("Chdir");
    //Lance apache en lui passant tout les arguments passé au loader
    if (execve("/bin/apache", argv, envp)==-1)
    perror("Erreur lors de execve");
    return 0;
    }

    Tu complile ça et tu le met dans ton script de démarage, pense a faire un touch du pidfile avant de le lancer...

    Pour un chroot c'est bien si il est impossible de créer un répertoire dans le chroot de changer le répertoir courant pour celui-ci et de faire du cd .. après donc si tu a du php dedans dégage la commande chdir si tu l'utilise pas... (et toutes celle qui permettent de le faire...)