Lorsque vous devez éditer des fichiers système, il est habituel que vous ayez déjà lancé Emacs avec un utilisateur normal auparavant. Le fichier est donc protégé en écriture. Que puis-je faire pour obtenir les privilèges root? Je veux dire quelque chose comme M-x sudo
de dired.
Je ne veux pas lancer Emacs en tant que super-utilisateur et je ne veux pas le quitter.
::
?/su:otheruser@localhost:
, par exemple./sudo::
est un raccourci pour trampsudo:root@<hostname>:
Utilisez
find-file
avec tramp. À l'invite/sudo::/etc/ssh/ssh_config
, utilisez sudo et un sous-shell pour ouvrir ce fichier avec les privilèges root. Lorsque sudo est utilisé pour la première fois, un mot de passe est demandé, mais vous pouvez éditer tout fichier doté de ces autorisations jusqu'à la fermeture de cette session en ajoutant la/sudo::
commande existante au préfixe .Voir http://www.gnu.org/software/tramp/ pour plus de détails.
la source
Si vous utilisez le
ivy
package et que vous avez configurécounsel-find-file
pour le remplacerfind-file
, l'une des "actions ivy" préconfigurée pour vous consiste à modifier le fichier en tant que root. Lahydra
frappe par défaut pour cette action estr
.la source
Il existe aujourd'hui de nombreux packages qui résolvent ce problème (à partir de 2018). Certains d'entre eux sont:
sudo-edit
, permet de changer les droits d'édition sur un fichier en lecture seule déjà ouvert. JusteM-x sudo
et tapez un mot de passe et vous avez terminé. Après de nombreuses années d'utilisation de celui-ci, je pense que c'est le plus pratique pour ce besoin.sudo-edit
vous permet d'ouvrir un fichier comme n'importe quel utilisateur, mais il est configuré par défaut sur sudo si aucun n'est fourni.dired-toggle-sudo
. C'était la première solution intégrée que j'ai trouvée après avoir posé cette question. Il est orienté Dired, donc si vous préférez la version orientée fichier , reportez-vous à la première puce de cette liste.la source
Si vous utilisez Helm. Vous n'avez besoin d'aucun paquet externe / configuration supplémentaire. cela fonctionne hors de la boîte.
A l'intérieur,
helm-find-files
vous pouvez invoquerfind file as root
ce qui est lié à C-c r. Cela fonctionne pour les fichiers ou les répertoires enhelm-find-files
session.Si vous ne voulez pas taper le mot de passe chaque fois que vous ouvrez des fichiers / répertoires racine. Mettez la ligne suivante à votre
~/.authinfo.gpg
la source
la source