Errore, anche con sudo: "dd: impossibile aprire '/ dev / sda1': autorizzazione negata" (input dd reindirizzato da gzip)


14

Il mio comando che non funziona :

sudo gzip -dc sda1.image.gz | dd of=/dev/sda1

restituisce il seguente errore anche prima che avessi la possibilità di inserire la mia password:

dd: failed to open ‘/dev/sda1’: Permission denied
[sudo] password for ken:

Ho anche provato senza le opzioni "-dc" e ottengo lo stesso errore.

Tuttavia, il comando dd senza gzip, usando un file non compresso, funziona :

sudo dd if=sda1.image of=/dev/sda1

Sembra che il sudo si applichi solo al primo comando e non all'intera sequenza di comandi. Se rimango nella stessa sessione del terminale e ripeto il comando, non ricevo la richiesta della password (la mia autenticazione sembra persistere) e tuttavia ottengo ancora lo stesso errore (come se la mia autenticazione non si applica all'operazione di scrittura / dev ). Lo stesso errore si verifica quando eseguito da uno script / bin / sh.

Come devo costruire i miei comandi per decomprimere la mia immagine sul dispositivo?

Sto usando Ubuntu 14.04 LTS in una finestra terminale.

Risposte:


17

Manca sudonell'altro lato della pipeline:

sudo gzip -dc sda1.image.gz | sudo dd of=/dev/sda1

In un <command> | <command> | [...]formato di comando, ogni comando della pipeline che richiede sudodeve essere eseguito usando sudo, non solo il primo.

In questo caso si potrebbe non essere necessario utilizzare sudosu gzip -dc sda1.image.gz, a meno che non si dispone dell'autorizzazione di lettura sul file:

gzip -dc sda1.image.gz | sudo dd of=/dev/sda1

In generale, se tutti i comandi da eseguire in una pipeline richiedono sudo, un modo per aggirare la necessità di scrivere sudoin ciascun comando è quello di eseguire l'intero comando in una subshell invocata usando sudo:

sudo bash -c '<command> | <command> | [...]'

3
@KenConrad Se questa risposta ha risolto il tuo problema, contrassegnala come risposta accettata facendo clic sul segno sotto il conteggio dei voti, in modo che altri utenti possano sapere che questa risposta ha funzionato per te e che potrebbe trarne profitto.
Kos
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.