Não executar programas a partir de /tmp

Risco alto Não marcada por padrão Catálogo revisado em: 2026-11-05

Malwares e explorações costumam deixar um programa em /tmp e executá-lo. Isto impede que algo rode ali.

Por que importa

Depois de invadir, malwares e scripts de exploração costumam baixar um programa em /tmp, porque qualquer um pode escrever ali, e executá-lo. Montar /tmp de modo que nada nele possa ser executado quebra esse passo e obriga o atacante a procurar outro lugar.

Como funciona

Define a opção de montagem noexec em /tmp, então o kernel se recusa a executar programas guardados ali e a mapear arquivos de lá como código executável. Não impede que um interpretador leia um script, então bash /tmp/script.sh ainda roda.

Quem deve usar

Serve para servidores e desktops organizados, onde o software vem do gerenciador de pacotes. Desenvolvedores e quem compila software ou roda instaladores devem pensar duas vezes, pois muita ferramenta espera executar coisas de /tmp.

O que você pode notar

Programas falham com Permission denied ou failed to map segment from shared object. Instaladores, ferramentas de build, scripts de pacote e alguns módulos de Java ou Python que descompactam código em /tmp são as vítimas comuns.

Verifique no seu computador

Veja as opções da montagem:

findmnt -no OPTIONS /tmp

Aplique à mão

Adicione a opção à montagem em /etc/fstab, ou em uma unidade de montagem do systemd, e remonte:

# /etc/fstab, add "noexec" to the options of /tmp, for example:
tmpfs  /tmp  tmpfs  defaults,noexec  0 0
sudo mount -o remount /tmp

Desfaça

Tire a opção de novo e remonte.

Configurações relacionadas

Fontes

Linux Hardening Guide (madaidans)
17