Это хорошо объяснено на sudo
странице руководства . Описание -e
(что sudoedit
эквивалентно) говорит:
-e
Опция -e
(edit) указывает, что вместо запуска команды пользователь хочет отредактировать один или несколько файлов. Вместо команды строка " sudoedit
" используется при обращении к политике безопасности. Если пользователь авторизован политикой, предпринимаются следующие шаги:
- Временные копии делаются из файлов, которые будут редактироваться с владельцем, установленным для вызывающего пользователя.
- Редактор, указанный в политике, запускается для редактирования временных файлов.
sudoers
Политика использует SUDO_EDITOR
, VISUAL
и EDITOR
переменные окружения (в таком порядке). Если ни одна из них SUDO_EDITOR
, VISUAL
или EDITOR
не установлена, используется первая программа, указанная в sudoers(5)
опции редактора .
- Если они были изменены, временные файлы копируются обратно в исходное местоположение, а временные версии удаляются.
Если указанный файл не существует, он будет создан. Обратите внимание, что в отличие от большинства команд, запускаемых sudo
в редакторе, среда вызывающего пользователя не изменяется. Если по какой-либо причине sudo
не удается обновить файл с его отредактированной версией, пользователь получит предупреждение, и отредактированная копия останется во временном файле.
В частности, обратите внимание на третий шаг: только если файл был изменен в конце редактирования, оригинал изменяется. Таким образом, если у вас есть программа, которая просматривает файл, это может помочь избежать: (а) промежуточных записей, и (б) ненужных действий, если вы решили не вносить изменений в конце.