O seu servidor Red Hat / CentOS não tinha SELinux habilitado, você resolve habilitar para ter maior segurança nessa máquina e repara que muitos serviços não mais executam e geram erros dizendo que não conseguem encontrar bibliotecas para seu funcionamento.
Isso acontece porque o SELinux não reconhece as marcações não existentes e não libera o acesso do serviço às suas bibliotecas.
Verificando o log do SELinux, encontra seguidas mensagens como essa:
Summary: SELinux is preventing access to files with the label, file_t. Detailed Description: SELinux permission checks on files labeled file_t are being denied. file_t is the context the SELinux kernel gives to files that do not have a label. This indicates a serious labeling problem. No files on an SELinux box should ever be labeled file_t. If you have just added a new disk drive to the system you can relabel it using the restorecon command. Otherwise you should relabel the entire files system. Allowing Access: You can execute the following command as root to relabel your computer system: "touch /.autorelabel; reboot"
Para resolver
Teóricamente quando se ativa o SELinux pela primeira vez quando o servidor está rodando ele vai solicitar um reboot pra habilitar o SELinux e nesse reboot ele vai marcar todos os arquivos do sistema para que tenham as flags das políticas. Esse cenário também ocorre quando se adiciona um novo disco ou partição ao SO.
Essa marcação inicial nem sempre acontece, as vezes faltam alguns arquivos com a marcação e ao tentar executá-los esse erro no /var/log/audit/audit.log aparece.
Fazer como sugere a solução do audit que é executando touch /.autorelabel; reboot pode resolver e também não pode.
Para resolver em definitivo e forçar que todos os arquivos de um determinado diretório sejam marcados o comando abaixo vai resolver (as políticas padrões para os arquivos serão restauradas) e os arquivos serão marcados corretamente, permitindo assim ao SELinux saber como lidar com o serviço.
restorecon -R -v /diretório

3 comments
Join the conversationLuciano Borguetti - 17/09/2009
SELinux ? Boa hem haha
Luciano Borguetti - 17/09/2009
Para quem tiver afim de saber um pouco mais de SELinux :
http://jczucco.googlepages.com/selinux.html
Abraço Daniel.
Daniel Kühl Lima - 18/09/2009
Boa garotinho… excelente indicação! Muito obrigado!