Isto acontece varias vezes. Por exemplo: Estou logado com usuário normal e início uma edição de um arquivo (httpd.conf ou lighttpd.conf) de configuração onde somente o root tem permissão para escrita com o editor VIM / VI. De qualquer maneira eu não tenho permissão para salvar as mudanças. Como faço para salvar o arquivo sem criar um arquivo temporário (/tmp/httpd.conf) para depois renomeá-lo (mv /tmp/httpd.conf /etc/httpd) como root ?
Você pode usar a combinação dos comandos "tee" e "sudo" (sendo que sudo deve estar configurado para sua conta) para salvar um arquivo sem criar um outro arquivo temporário.
Edite o arquivo "/etc/apache2/conf.d/mediawiki.conf" como usuário normal:
$ vim /etc/apache2/conf.d/mediawiki.conf
Faça algumas alterações e tente salvar (:w, enter).

Para salvar o arquivo, simplimente digite o comando:
:w !sudo tee %
Onde,
- :w - Escreve/salva o arquivo.
- !sudo - Executa no shell o comando "sudo".
- tee - A saída do comando de escrita (vim :w) é redirecionada para o comando "tee". O "%" representa o arquivo atual (/etc/apache2/conf.d/mediawiki.conf). Em outras palavras o comando "tee" é executado como "root" e recebe como entrada a escrita do arquivo atual. Logo depois será perguntado se deseja recarregar o arquivo.