¿Cómo configurar visudo para usar un editor diferente al predeterminado en Fedora?

28

Fedora 14 usa vi por defecto cuando uno ejecuta visudo. ¿Hay alguna manera de cambiar esto a otra cosa?

tshepang
fuente

Respuestas:

44

Agregar Defaults editor=/path/to/editorel archivo sudoers hará que visudo use el editor especificado para los cambios.

Además, si su paquete sudo se ha creado con --with-env-editor, como es el valor predeterminado en algunas distribuciones de Linux, también puede establecer la variable de entorno EDITOR ejecutando export EDITOR=/path/to/editor. Realizado en la línea de comando, esto se revertirá tan pronto como finalice la sesión de shell, estableciendo la variable en un perfil ~ / .bashrc o / etc / hará que el cambio persista.

Tok
fuente
¿Podría por favor proporcionar los comandos que ejecutó?
Tok
@Tshepang: también puede establecer el Editor predeterminado = / usr / bin / nano en el archivo sudoers para especificar un editor. En este punto, supongo que desea utilizar nano como se especifica en su comentario anterior.
Tok
@Tshepang - Sí, sin embargo, es probable que sea producto de haber creado el paquete usando --with-env-editor.
Tok
1
@Tok: ¿En qué sistema no se visudohonra $VISUALy $EDITOR?
Gilles 'SO- deja de ser malvado'
3
@Gilles: en base a mi lectura, Ubuntu ha cambiado recientemente los parámetros de compilación de su paquete sudo para que no se incluyan --with-env-editor, lo que recientemente significa aquí en la memoria de Internet. Además, el paquete sudo cambió su valor predeterminado hace algún tiempo para usar vi como su editor predeterminado, lo que creo que coincidió con un cambio en el comportamiento con respecto a la aceptación de variables ambientales. No tengo una línea de tiempo clara de cómo, cuándo o si estos eventos se relacionan entre sí en este momento.
Tok
11

El seguimiento

  • funciona para las distribuciones que usan alternatives(originalmente solo Debian y sus bifurcaciones, pero ahora la mayoría de las principales distribuciones, IIUC).
  • tiene la ventaja de que

    1. no necesitará editar sudoersprimero con su editor predeterminado
    2. Funciona incluso si el envase = sudoha no ha construido con--with-env-editor

Desde una línea de comandos:

  1. correr sudo update-alternatives --config editor
  2. Elija el editor deseado del menú (modo de texto). Si no ve el editor que desea, probablemente necesite instalarlo; cancelar, hacer eso y repetir.

sudo visudo Ahora debe abrir el editor de su elección.

TomRoche
fuente
7

Un programa normal de Unix que quiera invocar a un editor ejecutará el programa cuyo nombre está en la variable de entorno EDITORo VISUAL, y si la variable no está establecida, un valor predeterminado depende del sistema. Muchos, pero no todos, los programas verifican ambos EDITORy VISUAL; la distinción es obsoleta desde hace mucho tiempo (una vez que se ejecutaría EDITORen un teletipo y VISUALen un terminal de "vidrio" ...) por lo que debe establecer ambos en el mismo valor. Existe cierto desacuerdo sobre si el contenido de la variable debe ser la ruta completa a un ejecutable, un nombre de ejecutable que se busca $PATHo un fragmento de shell, por lo que debe apegarse a una ruta a un ejecutable que no contenga ningún metacarácter de shell. El valor predeterminado del sistema cuando no se establece ninguna variable es tradicionalmentevi, aunque algunas distribuciones han cambiado esto a un editor más amigable para los novatos como nano.

visudocomprueba ambos VISUALy EDITOR(esto puede compilarse, presumiblemente para disuadir a root de usar un editor en cuya seguridad el fabricante de la distribución no confía, pero incluso OpenBSD no hace esto).

Gilles 'SO- deja de ser malvado'
fuente
3

Estos pasos me permiten configurar el editor en vi para visudo en Ubuntu 12.04, probablemente funcionen para la mayoría de las distribuciones:

Emitir comando:

sudo visudo

Esto abre el archivo sudoers en nano. Cerca de la parte superior verá esta línea:

Defaults    env_reset

Agregue la siguiente línea debajo de la línea anterior:

Defaults    editor=/usr/bin/vi

Guarda el archivo y cierra. Vuelva a abrir visudo como su usuario predeterminado:

sudo visudo

El archivo sudoers ahora se abre en VI.

Eric Leschinski
fuente
2

visudousa la EDITORvariable, por ejemplo.

sudo EDITOR=/path/to/editor visudo
Bhavin
fuente