Ответы:
Добавление Defaults editor=/path/to/editor
в файл sudoers приведет к тому, что visudo будет использовать указанный редактор для изменений.
Кроме того, если ваш пакет sudo был собран с --with-env-editor, как это используется по умолчанию в некоторых дистрибутивах Linux, вы также можете установить переменную среды EDITOR, выполнив export EDITOR=/path/to/editor
. Выполненный в командной строке, он вернется после завершения сеанса оболочки; установка переменной в ~ / .bashrc или / etc / profile приведет к сохранению изменения.
visudo
чести $VISUAL
и $EDITOR
?
--with-env-editor
, что недавно здесь означало в памяти Интернета. Кроме того, пакет sudo некоторое время назад изменил их по умолчанию, чтобы использовать vi в качестве редактора по умолчанию, что, как я полагаю, совпало с изменением поведения в отношении принятия переменных среды. У меня нет четкого графика того, как, когда или если эти события связаны друг с другом в настоящее время.
Последующий
alternatives
(первоначально только Debian и его форки, но теперь большинство основных дистрибутивов, IIUC).имеет то преимущество, что
sudoers
сначала редактировать с помощью редактора по умолчаниюsudo
еще не было построено с--with-env-editor
Из командной строки:
sudo update-alternatives --config editor
sudo visudo
Теперь должен открыть редактор по вашему выбору.
Обычная Unix-программа, которая хочет вызвать редактор, запустит программу, имя которой находится в переменной среды EDITOR
или VISUAL
, и, если переменная не установлена, по умолчанию, зависит от системы. Многие, но не все, программы проверяют EDITOR
и VISUAL
; это различие давно устарело (если вы работаете EDITOR
на телетайпе и VISUAL
на «стеклянном» терминале…), поэтому вам следует установить оба значения на одно и то же. Существуют некоторые разногласия относительно того, должен ли в содержимом переменной быть полный путь к исполняемому файлу, искомое имя исполняемого файла $PATH
или фрагмент оболочки, поэтому вам следует придерживаться пути к исполняемому файлу, не содержащему метасимвол оболочки. Системное значение по умолчанию, когда ни одна из переменных не установлена, традиционноvi
, хотя некоторые дистрибутивы изменили это на более дружественный для новичка редактор, такой как nano
.
visudo
проверяет и то, VISUAL
и другое EDITOR
(это можно скомпилировать, предположительно, чтобы отговорить root от использования редактора, безопасности которого не доверяет создатель дистрибутива, но даже OpenBSD этого не делает).
Эти шаги позволяют мне установить редактор на viudo для viudo в Ubuntu 12.04, они, вероятно, работают для большинства дистрибутивов:
Команда выдачи:
sudo visudo
Это открывает файл sudoers в nano. Возле вершины вы увидите эту строку:
Defaults env_reset
Добавьте следующую строку под строкой выше:
Defaults editor=/usr/bin/vi
Сохраните файл и выйдите. Снова откройте Visudo в качестве пользователя по умолчанию:
sudo visudo
Файл sudoers теперь открывается в VI.