Existem muitos lugares onde PATH pode ser definido.
O programa login define como um valor padrão. Como esse valor padrão é configurado depende do sistema. Na maioria dos sistemas Linux não embarcados, ele é obtido de /etc/login.defs , com valores diferentes para raiz e para outros usuários. Consulte o manual login(1) em seu sistema para descobrir o que ele faz.
Em sistemas que usam PAM , especificamente o pam_env módulo, variáveis de ambiente podem ser definidas no arquivo de todo o sistema /etc/environment e o arquivo por usuário ~/.pam_environment .
Em seguida, a maioria das maneiras de efetuar login (mas não de tarefas agendadas) executam uma shell de login que lê arquivos de configuração de todo o sistema e por usuário. Esses arquivos podem modificar o valor de PATH , geralmente para adicionar entradas, mas às vezes de outras maneiras. Quais arquivos são lidos dependem do que é o shell de login. Cascas Bourne / estilo POSIX leem /etc/profile e ~/.profile . Bash lê /etc/profile , mas para o arquivo por usuário, ele lê somente o primeiro arquivo existente entre ~/.bash_profile , ~/.bash_login e ~/.profile . Zsh lê /etc/zshenv , ~/.zshenv , /etc/zprofile , ~/.zprofile , /etc/zlogin e ~/.zlogin . Muitas sessões da GUI organizam para carregar /etc/profile e ~/.profile , mas isso depende do gerenciador de exibição, do ambiente da área de trabalho ou de outro script de inicialização da sessão e de como cada distribuição configurou isso.