Ative o coredump centos 7 com o systemd

1

Eu passei por alguns artigos depois de algum googling mas nada parece funcionar.

Estou usando o Centos 7.

Deixe-me explicar o que eu fiz até agora.

Eu segui passo a passo

link

Depois disso, posso obter o coredump gerado, mas somente se eu iniciar o processo manualmente, no entanto, sempre que eu iniciar o processo como

systemctl start <myprocess>

não gera coredump após matar com SEGV

kill -11 <pid>

var / log / messages mostra que recebeu o sinal SEGV, mas não consigo ver o coredump.

O padrão principal do kernel também é definido.

cat /proc/sys/kernel/core_pattern
/var/lib/coredumps/core-%e-sig%s-user%u-group%g-pid%p-time%t


coredump.conf 

cat /etc/sysctl.d/50-coredump.conf
Storage=both

cat  /etc/sysctl.d/99-sysctl.conf
fs.suid_dumpable = 1
kernel.core_uses_pid = 1

    Storage=both
    [root@server01 coredumps]# ls -l /etc/sysctl.d/50-coredump.conf
    lrwxrwxrwx 1 root root 26 Aug  6 13:51 /etc/sysctl.d/50-coredump.conf -> /etc/systemd/coredump.conf
    
por chandank 06.08.2015 / 16:19

1 resposta

3

Eu acredito que você esteja tentando matar um daemon com o conjunto de bits SUID.

Nesse caso, você precisará usar fs.suid_dumpable = 2

A outra coisa é certificar-se de que a permissão em todo o caminho em que você salvou o dump principal tenha permissão adequada.

No seu caso, isso significa que os usuários precisam ser capazes de executar em /var on /var/lib e conseguir escrever em /var/lib/coredumps .

Os usuários aqui são, na verdade, os usuários que possuem o processo que está sendo morto, e não o usuário que mata o processo.

    
por 06.08.2015 / 16:59