Estou executando um servidor GitLab em uma máquina Linux usando o Nginx como um servidor da Web.
Vários processos (iniciados manualmente como raiz com /etc/init.d/foo start
ou automaticamente como subprocessos) são executados como usuários diferentes:
O user git é configurado como no-login, geralmente estou usando sudo -u git -H foo
para fazer as coisas como user git.
O usuário instalou um executável (node.js) em um caminho local. Para usá-lo, eu preciso mudar meu sudo para
%código%. Eu também o adicionei ao arquivo .bashrc do user git, mas suponho que ele nunca seja executado, pois o login do shell é proibido.
Como estou tendo problemas com o servidor GitLab, suspeito que o serviço não tenha a variável PATH configurada corretamente e não consiga encontrar node.js no caminho local.
Minha pergunta:
Como faço para definir variáveis de ambiente como PATH para usuários que não são de login, para que os serviços executados como esse usuário (iniciado pelo root com sudo -u git -H env "PATH=/home/git/local/bin/:$PATH" foo
ou na inicialização) tenham acesso a ele?
Pergunta sobre bônus: Qual processo / usuário precisaria acessar o mecanismo Javascript? Nginx / www-user? Ou Rails (Unicorn) / git?