Alerta do SELinux: Por que o início foi cortado do nome do processo?

1

Eu tenho um serviço hdparm-noapm.service com ExecStart=/ansible-managed/sourcejedi.hdparm-noapm/hdparm.sh . Graças ao SELinux, isso é negado. O pop-up de erro do SELinux (sealert) diz

  • O processo de origem: (dparm.sh)
  • Tentou acessar: executar
  • Neste arquivo: hdparm.sh

Por que a primeira carta é cortada?

    
por sourcejedi 13.07.2017 / 15:14

1 resposta

1

O AVC mostra o mesmo nome do processo se eu encontrá-lo em /var/log/audit/audit.log . Então, isso não é um bug na GUI.

Existem dois pontos aqui. Em primeiro lugar, o processo systemd bifurcado pelo serviço "renomeia" ele mesmo antes de exec uting o programa.

Em segundo lugar, ele não aloca espaço extra para o nome do processo, portanto não pode ser maior que /sbin/init . (O comportamento em face da opção init= do kernel é deixado como um exercício para o leitor). O final do nome do programa é considerado mais interessante para preservar do que o início, já que "o primeiro bit pode ser apenas 'systemd -'".

De acordo com o TODO, isso será resolvido por "PR_SET_PROCTITLE_AREA se estiver disponível no kernel", ou seja, evitará a necessidade de truncar o nome do processo.

link

    
por 13.07.2017 / 15:14