Como desabilitar os core dumps no Debian 8

1

Eu finjo que já tentei de tudo, mas meu Debian 8 continua criando core dumps quando algo falha. Está acontecendo uma ou duas vezes em um mês. É um servidor de produção para alguns sites, com o pacote Apache 2.4, php5-fpm e mysql. Eu suspeito que é php5-fpm falhando porque eu recebo o arquivo de despejo na pasta DocumentRoot. O arquivo que recebo é chamado de "core" e está em algum lugar na ordem dos gigabytes em tamanho.

Aqui está o que eu já fiz para desativar os despejos principais, sem sucesso:

ln -s /dev/null /etc/systemd/coredump.conf

e, em seguida, reiniciado. Sem dados.

echo '*               hard    core    0' >> /etc/security/limits.conf
echo "fs.suid_dumpable = 0" >> /etc/sysctl.conf
sysctl -p

e, em seguida, reiniciado. Ainda não há dados. Eu não configurei o kernel.suid_dumpable para 0, porque o encontrei mais tarde, mas quando o achei também li que zero é o padrão. Essas configurações não devem fazer diferença, porque o php5-fpm não é setuid. O mesmo vale para o Apache e o mysql, caso não seja o php5-fpm falhando.

Por enquanto, há um script que procura pelos dumps principais e os exclui. O Crontab faz o resto, mas não é a melhor solução.

Como desabilitar globalmente e incondicionalmente os dumps principais no Debian 8?

    
por Lucio Crusca 19.11.2015 / 09:15

2 respostas

0

Após o comentário de Michael Hampton à resposta do Froggiz, notei que o Debian parece não ter uma página de manual do coredump.conf, então eu procurei na internet e encontrei. Essa manpage contém muitas informações úteis e eu me pergunto por que o Debian vem sem ela (talvez o Debian esteja enviando sem a coisa toda systemd-coredump?).

No entanto, a partir dessa manpage e do systemd-coredump manpage parece que os arquivos principais que recebo não vêm do systemd, porque o systemd os coloca em / var / lib / systemd / coredump ou no journal dependendo da opção Storage, mas nunca no diretório de trabalho do processo travado. Além disso, a página manpage systemd-coredump (também ausente no Debian) diz que para a funcionalidade core dump funcionar, você precisa configurar o parâmetro sysctl kernel.core_pattern para fazer o kernel entregar o dump principal para systemd-coredump.

Eu então observei o valor do Debian para kernel.core_pattern: O Debian vem com esse parâmetro definido como "core" por padrão, que é exatamente o nome dos arquivos de dump principal que eu obtenho.

Agora suponho que essa configuração

kernel.core_pattern=|/bin/true

(ou / bin / false para esse assunto) em sysctl.conf de acordo com a manpage principal (5) resolverá o problema.

Eu irei aceitar minha resposta em algumas semanas, se notar que o servidor parou de criar arquivos principais. Me desculpe, eu não posso aceitar o comentário de Michael como resposta, mas muito obrigado a ele por me apontar no que acredito ser a direção certa.

EDIT: Encontrei aqui uma maneira de testar a configuração sem ter que esperar por um acidente espontâneo e confirmo que esta é a resposta correta.

    
por 19.11.2015 / 18:16
2

Você pode tentar isto: link

Disabling application crash dumps journaling Edit the file /etc/systemd/coredump.conf by adding this line: Storage=none

and run: systemctl daemon-reload to reload the configuration.

    
por 19.11.2015 / 10:12