Estou tendo alguns problemas com um script inicial que altera o usuário e inicia alguns processos do daemon de ruby.
No passado, eu simplesmente bash -c "do the business" -l someusercertificava-me de usar a -lbandeira para emular um login.
Isso funcionou muito bem até agora, nosso processo ruby gerou o seguinte erro: require: no such file to load -- rubygems (LoadError)após alguma investigação, encontrei esse erro apenas quando executo o script como usuário root, ou seja (quando eu sudo suou quando estou sendo executado pelo iniciante).
Acho que esse é um problema do PATH, pois quando eu defino manualmente o caminho, ele resolve o problema.
Existe uma maneira de mudar de usuário e carregar todo o ambiente?
Eu também tentei su user -ce sudo.
Para facilitar o teste, eu estou " sudo surodando " ( ) e executando which bundle(o pacote é uma coisa de rubi).
Aqui está o que eu recebo:
sudo -i -u webuser which bundle# => sem saídasu -l webuser -c which bundle# => sem saídasudo su - webuser -c which bundle# => sem saída
Mas ssh'd como usuário da web
which bundle# => / opt / ruby / bin / pacote
/etc/profile ~/.bash_profile ~/.bash_logine ~/.profile. Para shells de login, o bash os avalia na ordem especificada.
su - user -c?