Eu estava brincando com user_u
na política segmentada no RHEL 6.5. Eu estou logado como root no contexto não confinado, então tenho total capacidade de alterar qualquer coisa que eu queira. Eu também mudei para o modo permissivo apenas no caso. Eu originalmente tinha user_u configurado para ter as configurações de MLS / MCS "s0: c0.c50". Este estado estava funcionando corretamente sem problemas (que eu saiba). Para testar a mudança com os comandos, digitei:
semanage user -m -r s0:c0.c51 user_u
Isso foi executado sem problemas e eu consegui verificar se funcionava corretamente com semanage user -l
. user_u
agora tem o MLS / MCS de "s0: c0.c51". No entanto, se eu tentar modificar o user_u ou qualquer um dos usuários vinculados ao user_u (chamado bob
e alice
), recebo um erro semelhante a este:
libsemanage.validate_handler: MLS range s0:c0.c50 for Unix user bob exceeds allowed range s0:c0.c51 for SELinux user user_u(No such file or directory).
libsemanage.validate_handler: seuser mapping [bob -> (user_u, s0:c0-c50)] is invalid (No such file or directory).
libsemanage.dbase_llist_iterate: could not iterate over records(No such file or directory).
A parte confusa é que s0: c0.c50 'excede' s0: c0.c51. Se eu tentar modificar user_u, ele se queixa de bob. Se eu tentar apagar bob, ele se queixa de alice. Se eu tentar apagar o alice, ele se queixa do bob. Eu efetivamente não posso mudar nenhum deles (através das ferramentas GUI ou da linha de comando).
Inicialmente eu tentei fazer o backup das mudanças da semanage e voltar para user_u
com s0: c0.c50, mas isso não funcionou, então eu tentei s0-s0: c0.c1023, que também não funcionou . Eu notei que os erros nunca mencionaram s0-s0: c0.c1023 então é como se eles estivessem falhando antes de realmente mudar o MCS / MLS do user_u.
Eu só encontrei alguns exemplos que eram semelhantes online, e o único que eu encontrei com conselhos disse para excluir os mapeamentos de usuários de / etc / selinux / targeted / seusers e para executar semodule -B
. Eu tentei isso, e semodule -B
falha com as mesmas mensagens de erro. Eu também substituí as porções deletadas de seusers e tentei semodule -B
sem sucesso.
Alguma ideia de como corrigir isso? Esse foi um ambiente de sandbox, por isso é fácil voltar para a imagem original, mas não vou ter esse luxo em um ambiente implantado.