sudoedit
permite que você edite um arquivo com um editor em execução no seu próprio ID de usuário. Ele copia o arquivo para um arquivo temporário no qual seu editor pode gravar. Assim que o editor é fechado, o arquivo editado é copiado de volta.
Não há possibilidade integrada de gravar automaticamente as alterações enquanto o editor ainda está em execução.
Então você precisa de
- execute o editor no outro ID de usuário (por exemplo,
sudo vi /file/to/edit
) - copie o arquivo manualmente de volta em um shell (separado) (
sudo cp /tmp/... /file/to/edit
) ou de dentro do vim:!sudo cp % /file/to/edit
. A partir do vim você também pode iniciar um shell com:sh
ou colocar o vim em segundo plano com Ctrl + Z e restaurá-lo comfg
. - use link
- crie sua própria versão de
sudoedit
, que grava as alterações de volta assim que os arquivos temporários forem alterados. Isso deve ser facilmente possível com alguns scripts. O Inotify pode ajudá-lo a detectar alterações (veja, por exemplo, Pode um script bash ser ligado a um arquivo? )