visudo:指定的编辑器(./sudo_editor)不存在

visudo:指定的编辑器(./sudo_editor)不存在

我尝试运行“sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements”命令,出现错误:visudo: 指定的编辑器(./sudo_editor)不存在

有人知道在这种情况下我该怎么办吗?

答案1

你可以用任何编辑器编辑你的 sudo 文件,visudo只要“以安全的方式”进行就可以了,以防止出现一些错误。但你可以用任何编辑器自己动手,只要准备好备份副本和实时 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无法覆盖其硬编码的编辑器列表。您可以尝试使用完整路径来引用编辑器,而不是使用和,./这可能会起作用,或者尝试使用“默认”编辑器,如vinano(使用查找其路径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

相关内容