Isso está bem explicado na página de sudo
manual . A descrição de -e
(que sudoedit
é equivalente a) diz:
-e
A -e
opção (editar) indica que, em vez de executar um comando, o usuário deseja editar um ou mais arquivos. No lugar de um comando, a cadeia " sudoedit
" é usada ao consultar a política de segurança. Se o usuário estiver autorizado pela política, serão executadas as seguintes etapas:
- São feitas cópias temporárias dos arquivos a serem editados com o proprietário definido para o usuário que está chamando.
- O editor especificado pela política é executado para editar os arquivos temporários. A
sudoers
política usa as variáveis de ambiente SUDO_EDITOR
, VISUAL
e EDITOR
(nessa ordem). Se nenhum SUDO_EDITOR
, VISUAL
ou EDITOR
estiver definido, o primeiro programa listado na sudoers(5)
opção do editor será usado.
- Se eles foram modificados, os arquivos temporários são copiados de volta para o local original e as versões temporárias são removidas.
Se o arquivo especificado não existir, ele será criado. Observe que, diferentemente da maioria dos comandos executados sudo
, o editor é executado com o ambiente do usuário que está chamando não modificado. Se, por algum motivo, sudo
não conseguir atualizar um arquivo com sua versão editada, o usuário receberá um aviso e a cópia editada permanecerá em um arquivo temporário.
Em particular, observe o terceiro passo: somente se o arquivo tiver sido modificado no final da edição, o original será alterado. Portanto, se você tiver um programa que monitora um arquivo, isso pode ajudar a evitar que: a) gravações intermediárias sejam capturadas eb) ações desnecessárias se você decidir não fazer alterações no final.