A opção mais eficaz é montar o diretório / tmp com a opção noexec (claramente o diretório / tmp deve estar em uma partição separada)
Da página de manual mount
noexec Do not permit direct execution of any binaries on the mounted filesystem.
(Until recently it was possible to run binaries anyway using a command like /lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)
Você pode remontar a partição / tmp com essa opção
# mount -o remount,noexec /tmp
Ou coloque em / etc / fstab para torná-lo permanente
UUID=[...] /tmp ext4 defaults,noexec 1 2
Para ser preciso, um arquivo executável pode continuar existindo em / tmp, mas a execução resultará em uma "permissão negada"