Mesmo que você sempre tenha muito cuidado com o que digita, colocar .
no seu PATH
, mesmo no final, ainda é inseguro, porque alguns programas alteram o diretório atual para /tmp
(que é gravável mundialmente) e também podem tentar executar utilitários que na verdade não estão instalados, padronizando assim o que está dentro /tmp
. Se isso ocorrer, este é um vetor de ataque.
Note também que não há muita desvantagem de evitar .
no PATH
, porque ./
é fácil de tipo (em particular nos teclados como QWERTY, onde esses personagens estão em chaves consecutivos e não precisa Shift) e usando ./
também irá conclusão de ajuda, assim, as teclas digitadas potencialmente economizando no fim.
Se você realmente deseja digitar comandos do diretório atual, os shells modernos (como zsh, com o seu command_not_found_handler
) podem fornecer recursos para fazer isso com segurança, ou seja, permitindo adicionar todas as verificações de segurança desejadas no manipulador, antes do comando é executado.