Só mais uma questão...
Se o script estiver dentro de um pacote deb, então ao executar:
sudo dpkg -i atualiza.deb

Ele rodaria como root também, não é?
Teria que ter outra forma de capturar o usuário logado.

Uma alternativa  a este problema, seria dar permissão 777 ao arquivo, 
mas acontece que se o arquivo não for de propriedade do usuário logado, 
o programa simplesmente ignora este arquivo e carrega todo desconfigurado.

Eta enrascada que estou...

Andre Cavalcante escreveu:

Vamos por partes:

Quando você faz

sudo atualiza.sh

todo o script é executado como root, logo $USER conterá root como usuário.

Se você roda, no terminal do usuário:

sudo chown -R $USER:$USER ~/.orca/app-settings/Mozilla.py

então o $USER é relativo ao dono do terminal naquele instante, logo, o
usuário que você quer.

uma alternativa é você executar um script como usuário normal, guardar o
usuário e depois chamar o teu script de fato:

$ atualiza.concha.sh

o qual contém

#atualiza.concha.sh
$USUARIO=$USER
sudo atualiza.sh

e o atualiza.sh

#atualiza.sh
chown -R $USUARIO:$USUARIO ~/.orca/app-settings/Mozilla.py

Testa aí e me diz como ficou...




-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a