Помилка навіть при sudo: "dd: не вдалося відкрити" / dev / sda1 ': дозвіл відхилено "(вхід dd, перенесений з gzip)


15

Моя команда, яка не працює :

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

повертає таку помилку ще до того, як я мав можливість ввести свій пароль:

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

Я також пробував без параметрів "-dc" і отримую ту ж помилку.

Однак команда dd без gzip, використовуючи нестиснений файл, працює :

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

Схоже, судо застосовується лише до першої команди, а не до всієї послідовності команд. Якщо я залишаюсь на тому самому термінальному сеансі і повторюю команду, я не отримую запит на введення пароля (моя автентифікація, здається, зберігається), і все ж я отримую ту ж помилку (як якщо б моя аутентифікація не застосовується до операції запису / dev ). Ця ж помилка виникає при виконанні з / bin / sh сценарію.

Як я повинен побудувати мою команду (команду), щоб розпакувати зображення на пристрій?

Я використовую Ubuntu 14.04 LTS у вікні терміналу.

Відповіді:


18

Ви відсутні sudoв іншій частині трубопроводу:

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

У <command> | <command> | [...]форматі команд кожна команда конвеєра, який вимагає, sudoповинна виконуватися з використанням sudo, а не лише перша.

В цьому випадку ви , можливо , не потрібно використовувати sudoна gzip -dc sda1.image.gz, якщо ви не маєте права на читання файлу:

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

Взагалі, якщо всі команди, які потрібно виконати в конвеєрі, вимагають sudo, один із способів запису sudoв кожну команду - це запустити всю команду в підзахисті, на яку викликається sudo:

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

3
@KenConrad Якщо ця відповідь вирішила вашу проблему, будь-ласка, позначте її як прийняту відповідь, натиснувши на позначку під підрахунком підсумків, щоб інші користувачі могли знати, що ця відповідь працює на вас і, можливо, також отримає користь від неї.
— kos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.