「Sudo EDITOR =。/ Sudo_editor visudo -f /etc/sudoers.d/relax_requirements」コマンドを実行しようとすると、エラーが出ました:visudo:specified editor(./Sudo_editor)does not exist
この状況で私がすべきことは誰でも知っていますか?
任意のエディタでSudoファイルを編集するだけで、visudo
はエラーを防ぐために「安全な方法で」それを行います。ただし、万が一のためにエラーを修正できるように、バックアップコピーとライブISOを用意しておくだけで、エディターでDIYできます。
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