Це добре описано в на sudo
сторінках керівництва . Опис -e
(що sudoedit
еквівалентно) говорить:
-e
Параметр -e
(редагування) вказує, що замість виконання команди користувач бажає редагувати один або кілька файлів. Замість команди, рядок " sudoedit
" використовується для консультацій з політикою безпеки. Якщо користувач уповноважений користувачем полісом, виконуються наступні кроки:
- Тимчасові копії створюються з файлів, які потрібно редагувати разом із власником, встановленим користувачем, що викликає посилання.
- Редактор, визначений політикою, запускається для редагування тимчасових файлів.
sudoers
Політика використовує SUDO_EDITOR
, VISUAL
і EDITOR
змінні оточення (в такому порядку). Якщо жоден з SUDO_EDITOR
, VISUAL
або EDITOR
не встановлені, перші програми , перераховані в редакторі sudoers(5)
використовується опція.
- Якщо вони були змінені, тимчасові файли копіюються назад у вихідне місце, а тимчасові версії видаляються.
Якщо вказаного файлу не існує, він буде створений. Зауважте, що на відміну від більшості команд, якими керує sudo
, редактор запускається із середовищем, що викликає користувача, без змін. Якщо з якоїсь причини sudo
не вдається оновити файл з його відредагованою версією, користувач отримає попередження, і відредагована копія залишиться у тимчасовому файлі.
Зокрема, зверніть увагу на третій крок: лише якщо файл було змінено в кінці редагування, оригінал змінено. Отже, якщо у вас є програма, яка переглядає файл, це може допомогти уникнути (а) проміжного запису, і (b) непотрібних дій, якщо ви вирішили не змінювати в кінцевому підсумку.