use /etc/profile
ou /etc/profile.d/
pasta
Eu posso colocar isso em /etc/environment
e todos os usuários terão:
PATH=/opt/my/bin
Pelo que entendi, /etc/environment
define variáveis de ambiente iniciais, então .profile
, .bashrc
e semelhantes acontecem depois.
Isso resulta em algo como
#> echo $PATH
/opt/my/bin:/usr/local/sbin:/usr/sbin
Ocorre que /opt/my/bin
e os arquivos dentro dele não são de propriedade de root, mas de outros administradores de nível intermediário. Em um sistema compartilhado, isso abre a porta para explorações se um administrador de sub-raiz for mal-intencionado ou for, de alguma forma, levado a enviar um arquivo malicioso (ou vulnerável) cujo nome se choca com uma ferramenta do sistema.
Como parte de uma estratégia de defesa profunda, parece uma precaução sensata ter /opt/my/bin
vindo à direita de todo o resto. (Usuários paranoicos e autores de scripts digitarão /sbin/foo <args>
, mas não vamos depender disso.)
Posso incluir um diretório em PATH
de tal forma que
a) todos os usuários têm, incluindo usuários recém-criados, sem enviar arquivos .bashrc
(ou similares) individuais para eles, e
b) entra em vigor depois PATH
foi definido para incluir /sbin
, /bin
e amigos?