5.17.3. Configuração de opções de lista de bloqueio usando arquivos de configuração
O arquivo de configuração padrão da lista de permissão contém o contexto NetworkManager
e o contexto padrão de libvirt
. O ID de usuário 0 também está na lista.
<?xml version="1.0" encoding="utf-8"?> <whitelist> <selinux context="system_u:system_r:NetworkManager_t:s0"/> <selinux context="system_u:system_r:virtd_t:s0-s0:c0.c1023"/> <user id="0"/> </whitelist>
A seguir, um exemplo de arquivo de configuração de lista de permissão que permite todos os comandos para o utilitário firewall-cmd
, para um usuário chamado user cujo ID de usuário é 815
:
<?xml version="1.0" encoding="utf-8"?> <whitelist> <command name="/usr/libexec/platform-python -s /bin/firewall-cmd*"/> <selinux context="system_u:system_r:NetworkManager_t:s0"/> <user id="815"/> <user name="user"/> </whitelist>
Este exemplo mostra tanto user id
como user name
, mas apenas uma opção é necessária. Python é o intérprete e está preparado para a linha de comando. Você também pode usar um comando específico, por exemplo:
/usr/bin/python3 /bin/firewall-cmd --lockdown-on
Nesse exemplo, somente o comando --lockdown-on
é permitido.
No Red Hat Enterprise Linux, todos os utilitários são colocados no diretório /usr/bin/
e o diretório /bin/
está vinculado simbolicamente ao diretório /usr/bin/
. Em outras palavras, embora o caminho para firewall-cmd
quando inserido como root
possa ser resolvido para /bin/firewall-cmd
, /usr/bin/firewall-cmd
pode agora ser usado. Todos os novos scripts devem usar o novo local. Mas esteja ciente de que se os scripts que rodam como root
forem escritos para usar o caminho /bin/firewall-cmd
, então esse caminho de comando deve ser adicionado na lista de permissão, além do caminho /usr/bin/firewall-cmd
tradicionalmente usado apenas para usuários nãoroot
.
O *
no final do atributo do nome de um comando significa que todos os comandos que começam com esta string correspondem. Se o *
não estiver lá, então o comando absoluto, incluindo argumentos, deve coincidir.