Come impostare visudo per usare un editor diverso da quello predefinito su Fedora?


28

Fedora 14 usa vi di default quando si esegue visudo. C'è un modo per cambiarlo in qualcos'altro?

Risposte:


44

L'aggiunta Defaults editor=/path/to/editornel file sudoers farà sì che visudo utilizzi l'editor specificato per le modifiche.

Inoltre, se il pacchetto sudo è stato creato con --with-env-editor, come è il default su alcune distribuzioni Linux, è anche possibile impostare la variabile di ambiente EDITOR eseguendo export EDITOR=/path/to/editor. Eseguito dalla riga di comando, questo verrà ripristinato non appena termina quella sessione della shell, impostando la variabile in un profilo ~ / .bashrc o / etc / farà sì che la modifica continui.


Potresti fornire i comandi che hai eseguito?
Tok

@Tshepang - Puoi anche impostare Default editor = / usr / bin / nano nel file sudoers per specificare un editor. A questo punto suppongo che desideri utilizzare nano come specificato nel tuo commento precedente.
Tok

@Tshepang - Sì, tuttavia, questo è probabilmente il prodotto di aver creato il pacchetto usando --with-env-editor.
Tok

1
@Tok: su quale sistema non visudoonora $VISUALe $EDITOR?
Gilles 'SO- smetti di essere malvagio' il

3
@Gilles - sulla base della mia lettura Ubuntu ha recentemente cambiato i parametri di build del loro pacchetto sudo per non includerli --with-env-editor, recentemente qui significa nella memoria di Internet. Inoltre il pacchetto sudo ha cambiato il suo default qualche tempo fa per usare vi come editor predefinito, che credo coincidesse con una modifica del comportamento riguardo all'accettazione delle variabili ambientali. Non ho una cronologia chiara di come, quando o se questi eventi si relazionano tra loro in questo momento.
Tok

11

Il seguente

  • funziona per le distribuzioni che usano alternatives(originariamente solo Debian e le sue forcelle, ma ora la maggior parte delle distro principali, IIUC).
  • ha il vantaggio che

    1. non dovrai sudoersprima modificarlo con il suo editor predefinito
    2. Funziona anche se la confezione = sudoè non è stato costruito con--with-env-editor

Da una riga di comando:

  1. Correre sudo update-alternatives --config editor
  2. Scegli l'editor desiderato dal menu (modalità testo). Se non vedi l'editor che desideri, probabilmente dovrai installarlo; annulla, fallo e ripeti.

sudo visudo ora dovrebbe aprire l'editor di tua scelta.


7

Un normale programma unix che vuole invocare un editor eseguirà il programma il cui nome è nella variabile ambiente EDITORo VISUAL, e se la variabile non è impostata, un valore predefinito dipendente dal sistema. Molti programmi, ma non tutti, controllano entrambi EDITORe VISUAL; la distinzione è lungamente obsoleta (una volta che si esegue EDITORsu un teletipo e VISUALsu un terminale "di vetro" ...) quindi è necessario impostare entrambi sullo stesso valore. Vi è un certo disaccordo sul fatto che il contenuto della variabile debba essere il percorso completo di un eseguibile, un nome di eseguibile che è stato cercato $PATHo uno snippet di shell, quindi è necessario attenersi a un percorso di un eseguibile che non contiene alcun metacarattere di shell. L'impostazione predefinita del sistema quando nessuna variabile è impostata è tradizionalmentevi, sebbene alcune distribuzioni abbiano cambiato questo in un editor più adatto ai principianti come nano.

visudocontrolla entrambi VISUALe EDITOR(questo può essere compilato, presumibilmente per dissuadere root dall'usare un editor la cui sicurezza non è attendibile dal produttore della distribuzione, ma nemmeno OpenBSD lo fa).


3

Questi passaggi mi permettono di impostare l'editor su vi per visudo su Ubuntu 12.04, probabilmente funzionano per la maggior parte delle distribuzioni:

Emetti comando:

sudo visudo

Questo apre il file sudoers in nano. Nella parte superiore vedrai questa linea:

Defaults    env_reset

Aggiungi la seguente riga sotto la riga sopra:

Defaults    editor=/usr/bin/vi

Salva il file ed esci. Riapri visudo come utente predefinito:

sudo visudo

Il file sudoers ora si apre in VI.


2

visudoutilizza la EDITORvariabile, ad esempio.

sudo EDITOR=/path/to/editor visudo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.