11.4. Adicionar regras de permissão e negação de fapolicida


O conjunto padrão de regras do pacote fapolicyd não afeta as funções do sistema. Para cenários personalizados, como armazenar binários e scripts em um diretório não-padrão ou adicionar aplicações sem os instaladores yum ou rpm, é necessário modificar as regras existentes ou adicionar novas regras. Os passos seguintes demonstram a adição de uma nova regra para permitir um binário personalizado.

Pré-requisitos

  • A estrutura fapolicyd está implantada em seu sistema.

Procedimento

  1. Copie seu binário personalizado para o diretório necessário, por exemplo:

    $ cp /bin/ls /tmp
    $ /tmp/ls
    bash: /tmp/ls: Operation not permitted
    Copy to Clipboard Toggle word wrap
  2. Pare o serviço fapolicyd:

    # systemctl stop fapolicyd
    Copy to Clipboard Toggle word wrap
  3. Use o modo de depuração para identificar uma regra correspondente. Porque a saída do comando fapolicyd --debug é verbosa e você só pode pará-la pressionando Ctrl+C ou matar o processo correspondente, redirecionar a saída de erro para um arquivo:

    # fapolicyd --debug 2> fapolicy.output &
    [1] 51341
    Copy to Clipboard Toggle word wrap

    Alternativamente, você pode executar o modo de depuração fapolicyd em outro terminal.

  4. Repita o comando que não foi permitido:

    $ /tmp/ls
    bash: /tmp/ls: Operation not permitted
    Copy to Clipboard Toggle word wrap
  5. Parar o modo de depuração, retomando-o em primeiro plano e pressionando Ctrl+C:

    # fg
    fapolicyd --debug
    ^Cshutting down...
    Inter-thread max queue depth 1
    Allowed accesses: 2
    Denied accesses: 1
    [...]
    Copy to Clipboard Toggle word wrap

    Alternativamente, mate o processo do modo de depuração fapolicyd:

    # kill 51341
    Copy to Clipboard Toggle word wrap
  6. Encontre uma regra que negue a execução de seu pedido:

    # cat fapolicy.output
    [...]
    rule:9 dec=deny_audit perm=execute auid=1000 pid=51362 exe=/usr/bin/bash : file=/tmp/ls ftype=application/x-executable
    [...]
    Copy to Clipboard Toggle word wrap
  7. Adicione uma nova regra allow before a regra que negou a execução de seu binário personalizado no arquivo /etc/fapolicyd/fapolicyd.rules. A saída do comando anterior indicava que a regra é a regra número 9 neste exemplo:

    allow perm=execute exe=/usr/bin/bash trust=1 : path=/tmp/ls ftype=application/x-executable trust=0
    Copy to Clipboard Toggle word wrap

    Alternativamente, você pode permitir a execução de todos os binários no diretório /tmp, adicionando a seguinte regra no arquivo /etc/fapolicyd/fapolicyd.rules:

    permitir perm=execute exe=/usr/bin/bash trust=1 : dir=/tmp/ all trust=0
    Copy to Clipboard Toggle word wrap
  8. Para evitar mudanças no conteúdo de seu binário personalizado, defina a regra necessária usando um checksum SHA-256:

    $ sha256sum /tmp/ls
    780b75c90b2d41ea41679fcb358c892b1251b68d1927c80fbc0d9d148b25e836  ls
    Copy to Clipboard Toggle word wrap

    Mude a regra para a seguinte definição:

    allow perm=execute exe=/usr/bin/bash trust=1 : sha256hash=780b75c90b2d41ea41679fcb358c892b1251b68d1927c80fbc0d9d148b25e836
    Copy to Clipboard Toggle word wrap
  9. Iniciar o serviço fapolicyd:

    # systemctl start fapolicyd
    Copy to Clipboard Toggle word wrap

Etapas de verificação

  1. Verifique se seu binário personalizado já pode ser executado, por exemplo:

    $ /tmp/ls
    ls
    Copy to Clipboard Toggle word wrap
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat