Quando si tenta di modificare un file senza disporre delle autorizzazioni di scrittura, viene visualizzato un errore:
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Il Sudoing non aiuta, perché esegue il comando come root, ma la shell gestisce il reindirizzamento di stdout e apre comunque il file come te:
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
C'è un modo semplice per reindirizzare stdout su un file su cui non hai il permesso di scrivere, oltre ad aprire una shell come root e manipolare il file in quel modo?
> sudo su
# echo test > /tmp/foo
chown
per cambiare il proprietario; era solo un esempio