Como definir permissões padrão de arquivo principal

8

Às vezes, o processo que estou executando gera o 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 apenas o rootusuário pode abri-lo para investigação, enquanto eu gostaria que todos os que tivessem acesso 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- ?

Crollywood
fonte

Respostas:

13

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

No entanto, o que você pode fazer é definir a kernel.core_patternconfiguração sysctl para um programa (que deve iniciar com um caractere de barra vertical |). O kernel então chamará esse programa quando um arquivo principal for gerado, em vez de jogá-lo no 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-coredumpe apport.

Wouter Verhelst
fonte
Mais sobre tubos em core_patterns pode ser encontrada aqui ligação
crollywood