A política padrão fornecida com o SELinux é projetada para permitir o acesso típico do sistema para cada aplicativo. Ao contrário do seu shell de login regular, o seu "web shell" está sendo executado no contexto do servidor web ( link ) no qual as restrições para o servidor web se aplicam. Seu servidor da web também está sendo executado em um domínio permissivo , o que significa que as regras de política não são aplicadas, somente registradas, portanto você não vê erros de permissão negada em seu aplicativo.
A maneira mais simples de se livrar da mensagem seria seguir a sugestão de usar audit2allow
, após o qual você pode definir link de volta ao modo de aplicação. audit2allow
cria uma nova regra que permite o acesso específico para o qual a mensagem de negação foi gerada: uma regra para permitir o link getattr para arquivos com o contexto l2tpd_exec_t .
Se você planeja continuar usando um shell a partir do servidor web, é provável que você veja mais erros de permissão do SELinux quando você faz algo que a política padrão não permite (no contexto link ).
Idealmente, você deve criar uma política personalizada com um caminho de transição claro para um domínio (mais) permissivo no qual o shell é executado. Isso permite que você execute o shell não confinado sem conceder ao servidor da web acesso excessivamente permissivo. Se for útil, depende completamente dos detalhes de como o shell é lançado a partir do servidor web (scripts, etc).
Se você decidir manter link no modo permissivo de qualquer forma e não desejar mensagens de log, poderá configurar o servidor da Web para ser executado em um contexto não confinado. De qualquer forma, para o servidor da Web, isso é praticamente o mesmo que a execução do SElinux desativado .