Cómo establecer permisos predeterminados de archivos principales

8

El proceso que estoy ejecutando a veces genera un archivo central, y ese archivo tiene los siguientes permisos de archivo:

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

El problema es que solo el rootusuario puede abrirlo para investigación, mientras que me gustaría que todos los que tengan acceso a él puedan leerlo sin que yo siempre configure los permisos manualmente.

¿Cómo podría establecer permisos predeterminados para algo como -rw-rw-rw- ?

Crollywood
fuente

Respuestas:

13

Dado que los archivos principales contienen el diseño completo de la memoria del proceso en el momento en que se bloqueó, pueden contener información confidencial. Por esta razón, los archivos principales se crean con la propiedad establecida en el uid del proceso en el momento de su bloqueo, y los permisos establecidos son bastante restrictivos. No hay ajustes para cambiar tan fácilmente.

Sin embargo, lo que puede hacer es establecer la kernel.core_patternconfiguración de sysctl en un programa (que debe comenzar con un carácter de canalización |). El kernel llamará a ese programa cuando se genere un archivo central, en lugar de descargarlo en el disco. Este programa debería poder generar el archivo principal con los permisos que desee.

Ejemplos de programas que lo hacen son systemd-coredumpy apport.

Wouter Verhelst
fuente
Puede encontrar más información sobre tuberías en core_patterns aquí enlace
crollywood