Como definir permissões de arquivo de núcleo padrão

8

O processo que estou executando às vezes gera um arquivo principal e esse arquivo tem as seguintes permissões de arquivo:

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

O problema é que somente root user pode abri-lo para investigação, enquanto eu gostaria que todos com acesso a ele pudessem lê-lo sem que eu sempre definisse as permissões manualmente.

Como eu poderia definir permissões padrão para algo como -rw-rw-rw - ?

    
por crollywood 24.12.2016 / 11:06

1 resposta

13

Como os arquivos principais contêm o layout de memória completo do processo no momento em que ele falhou, eles podem conter informações confidenciais. Por esse motivo, os arquivos principais são criados com a propriedade definida como o fluxo do processo no momento de sua falha, e as permissões definidas são bastante restritivas. Não há configuração para mudar isso facilmente.

No entanto, o que você pode fazer é definir a configuração kernel.core_pattern sysctl para um programa (que deve começar com um caractere de pipe, | ). O kernel chamará esse programa quando um arquivo principal for gerado, em vez de descartá-lo para o disco. Este programa deve ser capaz de gerar o arquivo principal com as permissões desejadas.

Exemplos de programas que fazem isso são systemd-coredump e apport .

    
por 24.12.2016 / 12:40