Eu costumava sudoedit
criar um arquivo:
$ sudoedit /etc/systemd/system/apache2.service
mas quando fui salvar o arquivo, ele o escreveu em um diretório temporário (/var/temp/blahblah). O que está acontecendo? Por que não está salvando no diretório do sistema?
O objetivo
sudoedit
é permitir que os usuários editem arquivos que de outra forma não teriam permissão, enquanto executam um editor sem privilégios. Para que isso aconteça,sudoedit
copie o arquivo a ser editado para um local temporário, torne-o gravável pelo usuário solicitante e o abra no editor configurado. É por isso que o editor mostra um nome de arquivo não relacionado em um diretório temporário. Quando o editor sai,sudoedit
verifica se alguma alteração foi realmente feita e copia o arquivo temporário alterado de volta para seu local original, se necessário.Isso é bem explicado na página de
sudo
manual . A descrição de-e
(quesudoedit
é equivalente a) diz:Em particular, observe o terceiro passo: somente se o arquivo tiver sido modificado ao final da edição é que o original é alterado. Portanto, se você tiver um programa que monitora um arquivo, isso pode ajudar a evitar (a) gravações intermediárias sendo captadas e (b) ações desnecessárias se você decidir não fazer alterações no final.