Fedora 14 utilise vi par défaut lorsque l'on exécute visudo. Y a-t-il un moyen de changer cela en autre chose?
28
L'ajout Defaults editor=/path/to/editor
du fichier sudoers obligera visudo à utiliser l'éditeur spécifié pour les modifications.
De plus, si votre paquet sudo a été construit avec --with-env-editor, comme c'est le cas par défaut sur certaines distributions Linux, vous pouvez également définir la variable d'environnement EDITOR en exécutant export EDITOR=/path/to/editor
. Effectué sur la ligne de commande, cela reviendra dès que cette session shell sera terminée, la définition de la variable dans un profil ~ / .bashrc ou / etc / entraînera la modification de persister.
visudo
respecte pas$VISUAL
et$EDITOR
?--with-env-editor
, ce qui signifie récemment ici dans la mémoire d'Internet. De plus, le paquet sudo a changé sa valeur par défaut il y a quelque temps pour utiliser vi comme éditeur par défaut, ce qui, je crois, a coïncidé avec un changement de comportement concernant l'acceptation des variables d'environnement. Je n'ai pas de chronologie claire de comment, quand ou si ces événements sont liés les uns aux autres pour le moment.Le suivant
alternatives
(à l'origine juste Debian et ses fourches, mais maintenant la plupart des distributions principales, IIUC).a l'avantage que
sudoers
abord avec son éditeur par défautsudo
n'a pas été construit avec--with-env-editor
Depuis une ligne de commande:
sudo update-alternatives --config editor
sudo visudo
devrait maintenant ouvrir l'éditeur de votre choix.la source
Un programme Unix normal qui souhaite appeler un éditeur exécutera le programme dont le nom se trouve dans la variable d'environnement
EDITOR
ouVISUAL
, et si la variable n'est pas définie, une valeur par défaut dépendante du système. De nombreux programmes, mais pas tous, vérifient les deuxEDITOR
etVISUAL
; la distinction est depuis longtemps obsolète (une fois que vous utiliseriezEDITOR
un téléscripteur etVISUAL
un terminal «en verre»…), vous devez donc définir les deux sur la même valeur. Il existe un certain désaccord quant à savoir si le contenu de la variable doit être le chemin d'accès complet à un exécutable, un nom d'exécutable recherché$PATH
ou un extrait de shell, vous devez donc vous en tenir à un chemin d'accès à un exécutable ne contenant aucun métacaractère shell. La valeur par défaut du système lorsqu'aucune variable n'est définie est traditionnellementvi
, bien que certaines distributions aient changé cela en un éditeur plus convivial pour les débutants tel quenano
.visudo
vérifie les deuxVISUAL
etEDITOR
(cela peut être compilé, probablement pour dissuader root d'utiliser un éditeur dont la sécurité n'est pas approuvée par le fabricant de la distribution, mais même OpenBSD ne le fait pas).la source
Ces étapes me permettent de définir l'éditeur sur vi pour visudo sur Ubuntu 12.04, elles fonctionnent probablement pour la plupart des distributions:
Émettre une commande:
Cela ouvre le fichier sudoers dans nano. Près du sommet, vous verrez cette ligne:
Ajoutez la ligne suivante sous la ligne ci-dessus:
Enregistrez le fichier et quittez. Rouvrez visudo en tant qu'utilisateur par défaut:
Le fichier sudoers s'ouvre maintenant dans VI.
la source
visudo
utilise laEDITOR
variable, par exemple.la source