2 votes

Activer le coredump centos 7 avec systemd

J'ai parcouru quelques articles après avoir fait des recherches sur Internet, mais rien ne semble fonctionner.

J'utilise Centos 7.

Laissez-moi vous expliquer ce que j'ai fait jusqu'à présent.

J'ai suivi pas à pas

http://www.kibinlabs.com/re-enabling-core-dumps-redhat-7/

Après cela, je peux obtenir le coredump généré mais seulement si je démarre le processus manuellement, cependant, lorsque je démarre le processus de la manière suivante

systemctl start <myprocess>

il ne génère pas de coredump après avoir tué avec SEGV

kill -11 <pid>

var/log/messages montre qu'il a reçu le signal SEGV mais je ne peux pas voir le coredump.

Le modèle de noyau est également défini.

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

3voto

daniel Points 494

Je pense que vous essayez de tuer un démon avec le bit SUID activé.

Dans ce cas, vous devrez utiliser fs.suid_dumpable = 2

L'autre chose à vérifier est que la permission sur le chemin entier où vous sauvegardez le core dump a la permission appropriée.

Dans votre cas, cela signifie que les utilisateurs doivent être en mesure d'exécuter sur /var sur /var/lib et être capable d'écrire en /var/lib/coredumps .

Les utilisateurs ici sont en fait les utilisateurs qui possèdent le processus à tuer, et non l'utilisateur qui tue le processus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X