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
Другие вопросы по тегам