Comment définir les autorisations par défaut du fichier principal

8

Le processus que j'exécute génère parfois un fichier principal et ce fichier dispose des autorisations de fichier suivantes:

server:~ # ls -l /mnt/process/core/core_segfault 
-rw------- 1 root root 245760 Dec  2 11:29 /mnt/process/core/core_segfault

Le problème est que seul l' rootutilisateur peut l'ouvrir pour enquête, alors que j'aimerais que tout le monde y ayant accès puisse le lire sans que je définisse toujours les autorisations manuellement.

Comment pourrais-je définir des autorisations par défaut sur quelque chose comme -rw-rw-rw- ?

crollywood
la source

Réponses:

13

Étant donné que les fichiers de base contiennent la disposition de mémoire complète du processus au moment où il s'est écrasé, ils peuvent contenir des informations sensibles. Pour cette raison, les fichiers principaux sont créés avec la propriété définie sur l'uid du processus au moment de son crash et les autorisations définies plutôt restrictives. Il n'y a aucun paramètre pour changer cela facilement.

Cependant, ce que vous pouvez faire est de définir le kernel.core_patternparamètre sysctl sur un programme (qui doit commencer par un caractère pipe |). Le noyau appellera alors ce programme lorsqu'un fichier core est généré, au lieu de le vider sur le disque. Ce programme devrait être en mesure de générer le fichier principal avec les autorisations souhaitées.

Des exemples de programmes qui le font sont systemd-coredumpet apport.

Wouter Verhelst
la source
Plus d'informations sur les tuyaux dans core_patterns peuvent être trouvées ici lien
crollywood