Isso demonstra claramente uma política MAC em que um DAC equivalente poderia ter sido ignorado em uma instalação básica do CentOS 7.
-
Por padrão (no CentOS no momento da gravação) sem privilégios, os usuários que não são do sistema estão logados como a função 'unconfined_u'. No entanto, podemos alterar nosso sistema para que nosso usuário não privilegiado 'alice' seja colocado na função 'user_u'. As políticas padrão podem ser feitas para restringir claramente essa função com apenas uma pequena configuração adicional.
[root]# echo "alice:user_u:s0-s0:c0.c1023" >> /etc/selinux/targeted/seusers
-
Agora desligue a capacidade desses usuários de executar arquivos localizados em seus diretórios pessoais e / tmp. Mais uma vez, o padrão é permitir esse comportamento. Esse comando pode demorar um pouco para ser concluído .
[root]# setsebool -P user_exec_content off
-
Agora (com nosso usuário sem privilégios), podemos fazer login e tentar executar algo em uma dessas áreas no go. Como você pode ver, nós somos negados.
[alice]$ cp /bin/ls /tmp/ [alice]$ /tmp/ls -bash: /tmp/ls: Permission denied
-
Finalmente, podemos ver o log do AVC para ver a negação do SELinux.
[root]# aureport -a AVC Report ======================================================== # date time comm subj syscall class permission obj event ======================================================== 1. 02/05/15 21:08:33 bash user_u:user_r:user_t:s0 59 file execute user_u:object_r:user_tmp_t:s0 denied 693