Você pode remontar / tmp com as opções bind e noexec, nodev, nosuid, mas não em uma etapa. Devido a algumas limitações da camada VFS do kernel do Linux, você precisa primeiro montar o bind e então remontar com as opções apropriadas.
root@utemp:/# /tmp/test.sh
uid=0(root) gid=0(root) groups=0(root)
root@utemp:/# mount -o bind,noexec /tmp /tmp
root@utemp:/# ./tmp/test.sh
uid=0(root) gid=0(root) groups=0(root)
root@utemp:/# umount /tmp
root@utemp:/# mount -o bind /tmp /tmp
root@utemp:/# mount -o remount,noexec /tmp
root@utemp:/# ./tmp/test.sh
bash: ./tmp/test.sh: Permission denied
root@utemp:/# umount /tmp
É inconveniente - em vez de uma linha em / etc / fstab você precisa chamar algum script com dois comandos de montagem por diretório durante a inicialização do sistema.
Mais informações neste artigo LWN . No kernel antigo, isso não funcionaria - o ponto de montagem de ligação sempre tem as mesmas opções de montagem que o sistema de arquivos subjacente.