
Estou usando o Apache2 para implantar um aplicativo Django, configurei o Apache2 para um usuário diferente do Apache. O problema é que quando o servidor é executado, o usuário muda, mas a variável de ambiente do diretório inicial ($HOME) permanece /root.
Responder1
Não sou um especialista nos aspectos internos do Linux/Unix, mas acho que a chamada do sistema que altera o ID do usuário efetivo não altera nenhuma variável de ambiente.
Variáveis de ambiente só seriam envolvidas se um novo processo estivesse sendo executado em exec() ou spawn(), ou seja, quando você inicia o Apache.
Você pode escrever um pequeno script wrapper para definir $HOME com outro valor e então iniciar o Apache. Se você estiver usando Debian, basta modificar /etc/init.d/apache2.