GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiunta di una riga nel file hosts, ottenere l'autorizzazione negata quando si utilizza sudo - Mac

Questo perché echo viene eseguito come root, ma la shell è quella che esegue effettivamente il reindirizzamento. Devi generare una nuova shell perché funzioni:

sudo -- sh -c "echo test >> /etc/hosts"

Modifica:non ho visto il fatto che > reindirizzare i lavori; Non posso spiegarlo.


Piuttosto che eseguire echo attraverso un reindirizzamento che verrà eseguito come utente corrente, non come root poiché echo viene eseguito nel tuo esempio, usa tee come suggerisce Steve Buzonas

 echo 'test' | sudo tee -a /etc/hosts

Il sudo è ora applicato al comando tee. La '-a' si aggiunge al file

Questo produrrà anche tee sullo standard output. Se non vuoi vedere 'test' nel tuo terminale aggiungi anche:> /dev/null fino alla fine di quella riga.


Linux
  1. Utilizzo di Google Drive dalla riga di comando di Linux

  2. Autorizzazione Sudo negata ma Su concede l'autorizzazione?

  3. Ottieni "autorizzazione negata" durante il reindirizzamento dell'output di Sudo Echo "xyz" su un file ??

  4. Chi è il proprietario del file se il file viene creato utilizzando il comando Sudo?

  5. Crea file utilizzando la riga di comando in Linux

Utilizzo del file di configurazione SSH

Come fare eco in un file

Come inserire una nuova riga nell'e-mail usando il comando linux mail?

Copiare un file solo quando è più recente della destinazione

Perché ricevo Autorizzazione negata quando eseguo ssh-add?

Rimozione e aggiunta di autorizzazioni utilizzando la notazione numerica sulla stessa riga