Como estender a política do SELinux para permitir que o ntpd use o gps?

0

Existe um dispositivo conectado na placa-mãe e o serviço NTP tenta ler os dados dele (o link do dispositivo conectado está no diretório /dev ). Usando o SELinux enforcing , os erros de status do serviço que não tem permissão para acessar o dispositivo. Definir o SELinux como disabled , resolver o problema, mas não é a maneira padrão de fazer isso.

Eu sei que alguém deve criar uma nova política SELinux em tais situações. Supondo que o serviço NTP tente ler /dev/gps0 , alguém pode dar um exemplo sobre como escrever uma regra do SELinux para isso?

    
por Soheil Pourbafrani 03.10.2018 / 09:23

1 resposta

2

Geralmente, ao lidar com o SELinux e os serviços padrão incluídos na distribuição do RHEL / CentOS, você deve primeiro ler a página apropriada <servicename>_selinux man.

Nesse caso, pelo menos no RHEL 7, a política SELinux do ntpd inclui o rótulo de tipo de arquivo gpsd_tmpfs_t do SELinux, o que sugere que a política pode ter suporte interno para ntpd de comunicação com dispositivos GPS via gpsd . Configurar gpsd e, em seguida, a comunicação entre ele e ntpd pode ser a maneira de manter a política SELinux mais rígida possível ao usar um dispositivo GPS com ntpd .

Como alternativa, você pode usar semanage permissive -a ntpd_t para alternar o SELinux para o modo permissivo somente para o ntpd .

Quando estiver no modo permissivo, você poderá localizar as mensagens referentes a / dev / gps0 ou / dev / ttyUSB0 nos logs de auditoria (consulte /var/log/audit ) e alimentá-las para a ferramenta audit2allow . Ele deve informar as alterações exatas da política do SELinux necessárias para permitir que o ntpd acesse o dispositivo GPS diretamente.

    
por 03.10.2018 / 09:56