O que de repente faria com que os programas lessem /etc/ld.so.preload quando eles fossem inicializados?

3

As mensagens de fiscalização do Apparmor começaram a aparecer no syslog de uma máquina Trisquel 7. Os programas afetados solicitaram open do arquivo /etc/ld.so.preload , no modo de leitura e foram negados pela política do apparmor. A seguir está a primeira instância da mensagem: -

May  8 21:25:54 box kernel: [928193.797140] type=1400 audit(1462739154.627:76): \
apparmor="DENIED" operation="open" profile="/usr/lib/NetworkManager/nm-dhcp-client.action" \
name="/etc/ld.so.preload" pid=13471 comm="nm-dhcp-client." requested_mask="r" \
denied_mask="r" fsuid=0 ouid=0

Alguns outros programas restritos estão sendo negados a mesma requisição, incluindo cupsd e mysqld.

Os perfis apparmor não foram alterados e essas mensagens nunca apareceram antes - então parece que esses (e talvez outros, não restritos) programas começaram a tentar ler o arquivo (vazio) /etc/ld.so.preload .

A minha única pista é que mais cedo naquele dia eu tinha compilado mame pela primeira vez. Eu corri uma máquina emulada algum tempo antes daquela primeira mensagem e deixei sem funcionar. A máquina host ficou sem resposta logo após eu retornar a ela e tive que redefini-la cerca de 20 minutos após essa mensagem.

Então, essas duas coisas podem ser relacionadas e onde devo começar a procurar descobrir por que esses programas estão agora procurando por bibliotecas de pré-carregamento?

    
por jah 09.05.2016 / 16:22

1 resposta

2

Todos os programas tentam abrir /etc/ld.so.preload , esse comportamento é adicionado ao Glibc. Mas eles só tentam abri-lo se existir (Glibc chama primeiro access ).

Normalmente, /etc/ld.so.preload não existe, portanto, cada processo apenas chama access , obtém uma resposta negativa e avança. Isso não aciona nada do AppArmor.

Mas se o arquivo existir, os processos chamam open para ler a partir dele. Se o arquivo estiver vazio, a vinculação dinâmica não é afetada, e o único efeito é um pequeno impacto no desempenho. Se houver uma regra do AppArmor que é acionada quando alguns programas abrem o arquivo, você recebe esses avisos.

Eu não sei se compilar a mame pode acabar criando /etc/ld.so.preload , ou se não é relacionado. De qualquer forma, se o arquivo estiver vazio, basta removê-lo.

    
por 10.05.2016 / 02:25