569 Views
Tempo de leitura: 3 MinutosTanto o SELinux quanto o CUPS são dois recursos importantíssimos em sistemas operacionais Linux baseados em Red Hat. Um cuida da segurança do ambiente e o outro nos provê todos os drivers e processos necessários para impressão de papel. Mas o que acontece quando há um conflito que gera bloqueio do CUPS no SELinux? É o que veremos a seguir.
SELinux
O SELinux é um recurso de segurança de sistemas operacionais Linux baseados em Red Hat. Ele restringe acessos de usuários e serviços.
Também é largamente difundida a fama de ser um vilão da usabilidade do sistema dada suas características de restrições. Por isso, muitas pessoas o desativa logo após a instalação do sistema operacional (Redhat, Centos e Fedora).
CUPS
O CUPS (Originalmente acrônomo de “Common Unix Printing System”) é o sistema (veja bem, “o sistema”) de gerenciamento de impressão de sistemas Unix e Linux. Ele gerencia todo processo de impressão, incluindo a fila de impressão enviada à impressora. Sem ele a vida do amigo usuário de Linux seria muito triste.
SELinux vs CUPS
A motivação deste artigo foi um problema recente que tive ao tentar imprimir do meu desktop Linux no pool de impressoras distribuídas na rede híbrida do escritório. Para imprimir usava o protocolo SMB. A restrição não se baseou em diretórios como o SELinux costuma restringir, mas na rede. O tráfego de saída para impressora estava sendo mal sucedido. Só foi possível diagnosticar o problema por meio de logs do CUPS e analise de Firewall e SELinux. Então Voilà! SELinux, seu feio!

Pensando em evitar que o amigo leitor passe por esse aperto, aqui vai uma dica: deixe o CUPS de fora do SELinux. Veremos a seguir como fazer isso.
Diagnosticando problema de impressão
1 – Primeiro, antes de enviar sua impressão, desative o SELinux por completo. Isso é temporário, só para teste:
setenforce 0
2 – Agora tente fazer sua impressão. Se funcionar, já sabe o que lhe causa problema de impressão; O SELInux!
3 – Agora reative o SELinux:
setenforce 1
Dando permissão para o CUPS no SELinux
Basta rodar o comando abaixo para que o SELinux não mais moleste o CUPS e suas impressões:
semanage permissive -a cupsd_t
Com isso, as tarefas do CUPS passarão a ser “permissive” para o SELinux, que não mais o bloqueará.
Caso o amigo queira desfazer essa liberação, basta rodar o comando abaixo:
semanage permissive -d cupsd_t
Conclusão
É melhor manter-se seguro deixando o SELinux habilitado do que negligenciar sua segurança e correr riscos.
Porém, não dá pra ficar sem realizar tarefas básicas como impressões.
Long live CUPS! Long live SELinux. Que a harmonia prevaleça sempre!