Como os padrões usados pelo selinux não podem ser classificados (por exemplo, comparar .*b
com b.*
), o selinux não ordena as regras por especificidade, mas pelo último-adicionado-último-aplicado.
Infelizmente, o semanage fcontext -l ordena as regras por uma simples comparação de strings, o que ajuda a encontrar sua regra, mas não se você precisar depurar várias regras de correspondência.
Você pode ver o pedido realmente aplicado em
cat /etc/selinux/targeted/contexts/files/file_contexts.local
Então você precisa adicionar a regra mais geral primeiro e depois a mais específica. Ou, melhor ainda, tente o seu melhor para criar as regras de uma forma que apenas uma regra por arquivo possa corresponder.