Livejournal de Dan Walsh de 2014 tem uma descrição de unconfined_service_t , embora seja tão pesado no jargão do SELinux que eu receio que você não consiga aproveitar muito o seu nível atual de conhecimento do SELinux.
De acordo com seus comentários, os rótulos do SELinux para o processo foram:
- quando iniciado com um arquivo .service:
system_u:system_r:unconfined_service_t:s0 - quando iniciado manualmente:
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Os marcadores do SELinux têm quatro partes:
- Usuário do SELinux (com o sufixo
_u) - Função SELinux (com o sufixo
_r) - Tipo SELinux (com o sufixo
_t) - e uma definição de nível do SELinux, que é usada apenas com uma política SELinux completa (Segurança militar e similares) Segurança em vários níveis , não com a política padrão direcionada .
Na política padrão do SELinux, o identificador de usuário do SELinux é diferente do seu nome de usuário regular: de fato, o SELinux não se importa com quem os arquivos ou processos pertencem, apenas se você é um processo essencial do sistema ou algo iniciado por um ( system_u ), um administrador ( sysadm_u ), um usuário comum ( user_u ) ou algo que tenha sido especificado como irrestrito pela política do SELinux ( unconfined_u ).
A parte da função pode ser usada para especificar várias funções de "administrador parcial", como dbadm_r para administração da base de dados ou logadm_r para acesso a logs do sistema.
A parte mais importante em relação à política SELinux segmentada é a especificação de tipo ou a parte com o sufixo _t .
unconfined_service_t deve ser um tipo irrestrito, então não tenho certeza do que deu errado. Talvez os arquivos sob a árvore de diretórios /APIX/ não estejam marcados e isso possa estar causando os problemas?
Como os processos, os arquivos também devem ter um rótulo do SELinux, visível com ls -Z . Em geral, o SELinux dá um default_t para quaisquer arquivos que não tenham rótulo especificado. Quando confrontado com default_t , o SELinux "pensa": "Eu não sei o que é isso; pode ser Ultra Top Secret que perdeu seu rótulo, então vamos mantê-lo extra seguro até que algum administrador nos diga o rótulo apropriado para isso " Resumindo, default_t é algo que você precisa corrigir.
Os arquivos normalmente herdarão a rotulagem do diretório em que estão no momento da criação, a menos que haja uma regra SELinux especificada que diga o contrário. Mas se você criar um novo diretório de nível superior, como /APIX , precisará decidir como rotulá-lo, ou então você acaba com default_t , o que pode causar problemas.
Você pode tentar definir semanage permissive -a unconfined_service_t : ele permite todos os serviços que usam unconfined_service_t de acesso gratuito, enquanto registra as violações de política do SELinux como /var/log/auth/ , como se o SELinux estivesse totalmente ativado para elas. Em seguida, executar audit2why na parte relevante do log de auditoria deve fornecer uma descrição mais clara do motivo pelo qual o SELinux está impedindo o programa de fazer algo que deseja fazer.
A correção correta pode ser simplesmente rotular o diretório /APIX/ com um rótulo de sistema de arquivos adequado.