Cómo obtener un volcado de núcleo de Apache al segfaultar

12

He seguido instrucciones de muchos lugares en línea sobre cómo obtener un volcado de núcleo de Apache cuando está produciendo un defecto de seguridad, pero todavía se niega a generar el volcado.

Yo tengo:

  1. Agregó la CoreDumpDirectorydirectiva al httpd.confarchivo y configúrelo en/tmp
  2. Ejecutado ulimit -c unlimited
  3. Proporcionó el patrón para volcados utilizando echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
  4. También corrió echo 0 > /proc/sys/kernel/core_uses_pid

Httpd se ha reiniciado, pero aún no se han creado volcados.

Estoy ejecutando CentOS 5.8 x64 con httpd-2.2.3-65.el5.centos.3yphp-5.3.20-13.el5.art

Cualquier ayuda sería muy apreciada!

chrismcb
fuente
¿Apache tiene permiso para escribir en el archivo que especificó en la directiva CoreDumpDirectory? Debería ser propiedad de apache.
Valentin Bajrami
Lo he instalado en / tmp, que se puede escribir en público, pero lo intentaré en otro lugar y darle la propiedad de Apache
chrismcb
Gracias, ¡eso produjo un volcado, sin embargo, no en el lugar donde lo configuré! He establecido la CoreDumpDirectorya /tmp/dumpsy se vuelca en /tmp... ahora en adelante con la depuración
chrismcb
¡Me alegra que lo hayas descubierto!
Valentin Bajrami

Respuestas:

7

Mi respuesta es esta:

  1. Configure la directiva de la siguiente manera

    CoreDumpDirectory /tmp/mycoredump

  2. Crea el directorio:

    mkdir -p /tmp/mycoredump

  3. Asignar propiedad al directorio www-data o httpd

    chown -R www-data:www-data /tmp/mycoredump

  4. Establecer permisos para:

    chmod 777 /tmp/mycoredump

  5. Reiniciar Apache:

    service apache2 restart

Valentin Bajrami
fuente
Sí, hice exactamente eso, ¡pero terminó de /tmptodos modos!
chrismcb
66
Nunca es una buena idea para chmod 777nada
sendmoreinfo
1
@sendmoreinfo Pero, ¿qué pasa si su caso de uso está haciendo algo completamente modificable y ejecutable para el mundo exterior? ;-)
avgvstvs
8
Puedes dispararte en el pie, solo no prediques esto.
sendmoreinfo