Esto se explica muy bien en la página de sudo
manual . La descripción de -e
(que sudoedit
es equivalente a) dice:
-e
La -e
opción (editar) indica que, en lugar de ejecutar un comando, el usuario desea editar uno o más archivos. En lugar de un comando, la cadena " sudoedit
" se usa al consultar la política de seguridad. Si el usuario está autorizado por la política, se toman los siguientes pasos:
- Se realizan copias temporales de los archivos que se editarán con el propietario configurado para el usuario que invoca.
- El editor especificado por la política se ejecuta para editar los archivos temporales. La
sudoers
política utiliza los SUDO_EDITOR
, VISUAL
y EDITOR
las variables de entorno (en ese orden). Si ninguno de SUDO_EDITOR
, VISUAL
o EDITOR
están configurados, sudoers(5)
se utiliza el primer programa listado en la opción del editor .
- Si se han modificado, los archivos temporales se vuelven a copiar en su ubicación original y se eliminan las versiones temporales.
Si el archivo especificado no existe, se creará. Tenga en cuenta que, a diferencia de la mayoría de los comandos ejecutados sudo
, el editor se ejecuta sin modificar el entorno del usuario que invoca. Si, por alguna razón, sudo
no puede actualizar un archivo con su versión editada, el usuario recibirá una advertencia y la copia editada permanecerá en un archivo temporal.
En particular, tenga en cuenta el tercer paso: solo si el archivo se ha modificado al final de la edición, se cambia el original. Entonces, si tiene un programa que mira un archivo, esto puede ayudar a evitar (a) escrituras intermedias que se recogen, y (b) acciones innecesarias si decide no hacer cambios al final.