visudo: указанный редактор (./sudo_editor) не существует
Я попытался запустить команду "sudo EDITOR=./ Sudo_editor visudo -f /etc/sudoers.d/relax_requirements", и ошибка выглядела так: visudo: указанный редактор (./sudo_editor) не существует
Кто-нибудь знает, что я должен делать в этой ситуации?
1 ответ
Вы можете просто редактировать свои файлы sudo с любым редактором, visudo
просто делает это "безопасным способом", чтобы избежать некоторых ошибок. Но вы можете сделать DIY с любым редактором, просто держите резервную копию под рукой и живую iso, готовую исправить любые ошибки на всякий случай.
man visudo
говорит:
There is a hard-coded list of one or more editors that visudo will use
set at compile-time that may be overridden via the editor sudoers Default
variable. This list defaults to /usr/local/bin/vi. Normally, visudo
does not honor the VISUAL or EDITOR environment variables unless they
contain an editor in the aforementioned editors list. However, if visudo
is configured with the --with-env-editor option or the env_editor Default
variable is set in sudoers, visudo will use any the editor defines by
VISUAL or EDITOR. Note that this can be a security hole since it allows
the user to execute any program they wish simply by setting VISUAL or
EDITOR.
Так что, возможно, ваш visudo
не может переопределить это жестко закодированный список редакторов. Вы можете попробовать обратиться к редактору с его полным путем, вместо ./
и это может сработать, или попробуйте редактор по умолчанию, как vi
или же nano
(найти свой путь с which
). Или просто запустить это сработало для меня (хотя я не могу рекомендовать vi
;-)
sudo EDITOR=vi visudo
Или же
sudo EDITOR=nano visudo
Или даже используя хороший графический редактор, такой как gedit
если он установлен:
sudo EDITOR=gedit visudo
На обычном Ubuntu (или Linux Mint и других тоже) только одно это должно работать:
sudo visudo
Или в случае вашего конкретного файла:
sudo visudo -f /etc/sudoers.d/relax_requirements