ubuntu 10 adicionar variável de caminho para todos os usuários o tempo todo

1

Onde posso adicionar ao meu caminho que estará disponível para todos os usuários, todos os shells, o tempo todo. Neste caso, eu quero / opt / grails / bin estar sempre disponível mesmo quando estiver sendo executado como usuário do tomcat de jenkins.

Existem 6+ arquivos nos quais você pode inserir isso, mas eu ainda tenho, em meus anos, um desenvolvedor de software que ocasionalmente lida com tarefas de administração de sistemas Linux para encontrar uma explicação clara de onde você faz export PATH=$PATH:/opt/grails/bin
e disponibilizá-lo para todo usuário, todo tipo de shell, todo o tempo de duração.

Estou no Ubuntu 10.10 se isso for importante.

Obrigado

    
por orange80 17.04.2011 / 18:50

1 resposta

1

Normalmente é o / etc / profile (lido pelos modos bash, dash, ksh e "sh").

Para usuários do sistema, você pode declarar variáveis únicas em / etc / environment. Não é uma boa prática, mas funciona (eu costumava usá-lo para JAVA_HOME, etc).

O principal problema com o PATH é que ele deve ser diferente para usuários do sistema e para superusuários do sistema. Então, ao invés de uma única variável em / etc / environment, eu tentaria remendar / etc / profile (a forma debian / ubuntu é colocar um script em /etc/profile.d /).

Exportações de uma linha é um bashumano, verifique as primeiras linhas do / etc / profile para a sintaxe portável (para trabalhar com / bin / sh, dash, etc).

Esta solução não deve funcionar para csh, tcsh e similares, mas para bourne como shells.

No ubuntu, você pode pesquisar sobre o PAM, que tem algumas coisas a dizer sobre o ambiente e o PATH, mas é mais sobre o login do que sobre a inicialização do shell.

Atualização: Para ir para o PAM (su, sudo, etc) tente: /etc/login.defs talvez o único arquivo que você precisa.

    
por 17.04.2011 / 19:49