Я просмотрел пару статей после некоторого поиска в Google, но, похоже, ничего не работает.
Я использую Centos 7.
Позвольте мне объяснить, что я сделал до сих пор.
Я шел шаг за шагом
http://www.kibinlabs.com/re-enables-core-dumps-redhat-7/
После этого я могу сгенерировать coredump, но только если я запускаю процесс вручную, однако, когда я начинаю процесс, например
systemctl start <myprocess>
он не генерирует coredump после уничтожения с помощью SEGV
kill -11 <pid>
var / log / messages показывает, что он получил сигнал SEGV, но я не вижу coredump.
Также устанавливается шаблон ядра ядра.
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
Я считаю, что вы пытаетесь убить демона с установленным битом SUID.
В этом случае вам нужно будет использовать fs.suid_dumpable = 2
Еще нужно убедиться, что разрешение на весь путь, по которому вы сохраняете дамп ядра, имеет правильное разрешение.
В вашем случае это означает, что пользователи должны иметь возможность выполнять на /var
на /var/lib
и уметь писать в /var/lib/coredumps
.
Пользователи здесь на самом деле являются пользователями, которые владеют убиваемым процессом, а не пользователем, убивающим процесс.