GNU/Linux >> Linux Esercitazione >  >> Linux

Diventare root dall'interno di Vim?

A volte inizio a modificare i file di configurazione in /etc usando Vim, ma dimentica di usare sudo per avviare Vim. Il risultato inevitabile quindi è che dopo aver terminato le mie modifiche incontro il temuto avviso che non ho il permesso per salvare il file.

Per lo più le modifiche sono abbastanza piccole che esco da Vim e rifaccio il tutto come root. Ovviamente potrei salvare in una posizione in cui posso scrivere e quindi copiare come root, ma anche questo è alquanto fastidioso.

Ma sono sicuro che esiste un modo più semplice per diventare root o utilizzare sudo dall'interno di Vim, senza dover scartare le modifiche. Se il metodo non si basasse su sudo essere configurato per l'utente sarebbe ancora meglio.

Risposta accettata:

sudo non può cambiare l'utente effettivo di un processo esistente, crea sempre un nuovo processo che ha i privilegi elevati e la shell originale non è interessata. Questo è un aspetto fondamentale della progettazione UNIX. Molto spesso salvo il file in /tmp come soluzione alternativa. Se vuoi davvero salvarlo direttamente, potresti provare a utilizzare una funzionalità di Vim in cui può reindirizzare un file a un altro processo. Prova a salvare con questo comando:

:w !sudo dd of=%

Testato e funziona. Vim ti chiederà quindi di ricaricare il file, ma non è necessario:puoi semplicemente premere o per evitare di ricaricare e perdere la cronologia degli annullamenti. Puoi persino salvarlo su un comando/funzione Vim o persino associarlo a una chiave per un facile accesso, ma lo lascerò come esercizio al lettore.


Linux
  1. Come incollare dal buffer in modalità ex di vim?

  2. Come uscire da vim -y nella console?

  3. Qual è la differenza tra root e sudo?

  4. Come eseguire il comando Vim dalla shell?

  5. Esegui ifconfig senza sudo

Come creare un video da immagini in Linux

Avvia sempre Terminal come utente root (sudo) in Ubuntu

Salva il file come root dopo averlo modificato come non root

Dove vengono segnalati gli incidenti sudo?

Esecuzione di Pycharm come root dal programma di avvio

Sudo vs radice; differenze effettive?