A variável PATH pode estar corrompida?

A variável PATH pode estar corrompida?

Instalei o rbenv, um programa de gerenciamento de versão Ruby. Olhei no arquivo .bashrc e percebi que a variável path foi alterada conforme abaixo:

export PATH="$HOME/.rbenv/bin:$PATH"

Acho que a parte ":$PATH" foi incluída para incluir o conteúdo antigo do caminho. Gostaria de saber o que aconteceria se um programa que modifica a variável path não incluísse a parte ":$PATH". Eu não seria capaz de executar alguns programas a partir da linha de comando, já que os diretórios bin nos quais eles residem não estão mais incluídos na nova variável de caminho?

Responder1

Você está certo. Os pacotes de terceiros devem, portanto, apenas estender o caminho atual, e não limitá-lo.

Responder2

PATHé uma lista separada por dois pontos de diretórios que seu shell ( bash, fish, ksh, sh, etc) usa para encontrar algo para executar. Se a primeira palavra da linha digitada no shell não for um shell interno ou um alias, o shell percorrerá a lista de diretórios em $PATH, procurando um arquivo executável com o mesmo nome da primeira palavra do comando que você digitou.

command not founderros para comandos comuns ( da/media/w3/0123-4567/PODCASTS/2016-Nov-27/loe-wildlife-decline.mp3te, ls, ...) são indicativos de um arquivo PATH. Uma emergência PATH(o suficiente para permitir que você resolva o problema pode ser definida com export PATH=/usr/bin:/bin:/usr/local/bin:/snap/bin.

Muitos PATHerros são erros de sintaxe do shell ( Spaceantes ou depois =. É PATH=value, sem espaços).

No que diz respeito à "corrupção de caminho", se eu criei uma versão "especial" de ls, armazenada em /.evil/bin/ls, E posso corromper seu caminho para que ele tenha/.evil/bin ANTES /bin, quando você digita ls, o shell será executado /.evil/bin/lsem vez de /bin/ls. Uma pegadinha bem conhecida, mas seu sistema está completamente invadido no momento em que se torna útil.

Responder3

Você seria capaz de executá-los, bastando especificar o caminho completo. Modificar PATHnão modifica as permissões associadas.

informação relacionada