Incluso si siempre tienes mucho cuidado con lo que escribes, ponerlo .
en tu PATH
, incluso al final, sigue siendo inseguro porque algunos programas cambian el directorio actual a /tmp
(que se puede escribir en todo el mundo) y también pueden intentar ejecutar utilidades que en realidad no están instaladas, por lo tanto, por defecto a lo que está adentro /tmp
. Si esto ocurre, este es un vector de ataque.
Tenga en cuenta también que no hay mucho inconveniente de evitar .
en PATH
, porque ./
es fácil de tipo (en particular, en los teclados QWERTY como, en donde estos personajes son en claves consecutivos y no es necesario Shift) y utilizando ./
también ayuda finalización, por lo tanto, las pulsaciones de teclado que puede salvar al final.
Si realmente desea poder escribir comandos desde el directorio actual, los shells modernos (como zsh, con sus command_not_found_handler
) pueden proporcionar funciones para hacerlo de forma segura, es decir, que le permiten agregar todas las comprobaciones de seguridad que desee en el controlador, antes de Se ejecuta el comando.