toute façon de sudo root, mais utilisez les paramètres de commande non-root?

1

Par exemple, pour la commande sudo vim /var/log/errors.log, Je veux que vim soit associé à mes propres paramètres d’utilisateur plutôt qu’à ceux de root. Je sais que je pourrais configurer vim pour un compte root, mais ce n’est pas ce que je veux, car il risque d’être bouleversé lors d’une prochaine mise à jour. Et aussi je ne veux pas changer le comportement vim des autres comptes.

RNA
la source

Réponses:

2
sudoedit

C'est beaucoup plus sécurisé aussi.
Pour utiliser vim (si ce n'est pas autrement votre éditeur par défaut)

(export VISUAL=vim; sudoedit file)

mais encore mieux .... définissez VISUAL et EDITOR dans votre ~ / .bashrc de sorte que ce soit votre éditeur par défaut.

9mjb
la source
1

Je ne pouvais pas tester, mais cela peut fonctionner: sudo HOME=/home/myusername vim /var/log/errors.log

Ou d'une manière plus simple: sudo HOME=$HOME vim /var/log/errors.log

Valentin Lorentz
la source
C'est une bonne solution de contournement. J'ai rencontré des erreurs: Error detected while processing /home/zane/.vim/bundle/neocomplcache/plugin/neocomplcache.vim: line 37: "sudo vim" and $HOME is not same to /root are detected.Please use sudo.vim plugin instead of sudo command or set always_set_home in sudoers, mais ça semble aller.
RNA
1

Vous aurez besoin de modifier le / etc / sudoers fichier et potentiellement ceux de /etc/sudoers.d/ et enlever le env_reset option dans le Défauts déclarations.

Le mien ressemble à ceci:

Defaults env_reset

Supprimer ou commenter cette ligne, et sudo conservera les variables d'environnement de votre utilisateur, plutôt que de tout vider et de remplir avec quelques valeurs spécifiques.

Bien sûr, voir le sudoers page de manuel pour plus de détails, et n'oubliez pas de modifier le fichier sudoers avec la commande visudo (ou sudo visudo ). visudo vérifie les erreurs du fichier sudoers avant de vous permettre de finaliser la modification ... si le fichier est défectueux ou s'il échoue, vous ne pouvez plus utiliser "sudo", d'où la commande visudo.

lornix
la source
mon /etc/sudoers et /etc/sudoers.d/ ne pas avoir cette ligne. Je regarderai la page de manuel de sudoers pour voir s’il ya quelque chose de pertinent. Merci quand même,
RNA
d'autres options à rechercher sont always_set_home et set_home. Vous pouvez toujours rencontrer des problèmes si vim est en train de créer un chemin de base à partir de l'utilisateur appelant.
lornix