Red Hat Training

A Red Hat training course is available for RHEL 8

44.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.