Операція з дд не дозволена, як уникнути пісочниці?


3

Я намагаюся відновити поганий сектор на своєму диску, і роблячи це, мені потрібно записати поганий сектор. Численні джерела в Інтернеті пропонують використовувати ДД для цього, але це не працює:

$ sudo dd if=/dev/zero of=/dev/disk1 bs=512 count=1 seek=961575240
dd: /dev/disk1: Operation not permitted
$

Я подумав, що можливо якась перевірка щодо того, щоб зробити це в змонтованій файловій системі, тому я завантажився в режим однокористувача (який принаймні залишається в режимі лише для читання), але я все одно отримую ту саму помилку. Однак відображаються також деякі додаткові повідомлення про пісочницю.

Sandbox: dd(5) System Policy: deny(1) file-write-data /dev/disk1
Sandbox: dd(5) System Policy: deny(1) file-write-data /dev/disk1

Чи є спосіб випустити ДД з пісочниці? я намагався

sudo sandbox-exec -p '(version 1) (allow default)' /bin/dd if=/dev/zero of=/dev/disk1 bs=512 count=1 seek=961575240

але це все ж дало операції не допустити помилки.

Це на ОС X 10.11 GM


У вас щось встановлене на / dev / disk1 (навіть якщо це інший сектор)? Це здається, що це диск. Ви можете спробувати записати на розділ (з відповідним зміщенням), якщо розділ не встановлений. Ніколи не намагайтеся змінювати вміст змонтованого розділу, навіть якщо він доступний лише для читання. Ядрам це може не сподобатися (тому у вас може бути нестабільність системи). Зауважте: багато людей, включаючи мене, заявляють, що, як тільки накопичувач видає одну помилку, вам більше не слід довіряти накопичувачу; такі диски, як правило, йдуть дуже погано, ніж середні диски, у яких не було першої помилки диска. Резервне копіювання!
TOOGAM

Відповіді:


3

У мене немає комп’ютерної жертви, щоб перевірити це, але я думаю, що ви працюєте в функції захисту цілісності системи в El Capitan. Здебільшого, те, що робить SIP, - це заважає вам (навіть як root) змінювати системні області диска (/ System, / sbin, / bin / більшість / usr тощо), возитися з системними процесами, завантажувати неправильно підписані кекси та ін. Але для того, щоб забезпечити захист системних папок, це також запобігає необмеженому запису на пристрій, у якому ввімкнено гучність системи. Так, навіть якщо ви root (це справа - це обмежити шкоду від зловмисного програмного забезпечення, яке отримує root-доступ).

Я думаю, що цей режим не застосовуватиметься у режимі відновлення . Утримуйте Command-R під час запуску комп'ютера, і він завантажиться з прихованого розділу аварійних ситуацій. Відкрийте термінал (він знаходиться в меню Утиліти) і спробуйте ddзвідти. ddможе не існувати в системі відновлення (це досить мінімально), але ви можете використовувати /Volumes/Macintosh\ HD/bin/ddзамість цього. Вам не знадобиться sudo, ви вже корінь.

Якщо це не працює, спробуйте відключити SIP csrutil disable, а потім перезавантажте його (див . Документ Apple щодо налаштування SIP ). Потім, коли ви закінчите, я рекомендую повторно включити його - це корисна функція безпеки.


Тепер вам потрібен корінь для кореня. Genius / sarc
cde

Дякую, це було досить інформативно. Режим відновлення / термінал зробив мене трохи далі, тому що я не отримав дозволу чи помилок в пісочниці, але все ще був незадоволений тим, що пристрій зайнятий, тому завантажився з SD-картки, щоб зробити DD.
Кріс Евеланд

0

Спробуйте використовувати su.

У Linux / unix спершу потрібно встановити пароль для root користувача, наприклад:

sudo passwd root

Тоді у вас повинен бути достатній дозвіл на це.

Також перевірте, чи всі розділи не відключені.

Введіть mountі перевірте, які розділи встановлені.

Тоді:

sudo umount /dev/disk1sX

Замість того, щоб disk1sXнаписати правильний розділ.


Запуск dd з оболонки кореня (або завантажений повністю, або в режимі для одного користувача) дає такий же результат, як і «sudo dd ...». Навіть працює з дозволом root, здається, він знаходиться в пісочниці.
Кріс Евеланд

Ви пробували sudo chown root:root /dev/disk1? Ви впевнені, що можете написати в / dev / disk1? Це може бути інше питання ...
xdevs23,

Мені довелося скористатисяsudo diskutil unmountDisk /dev/diskNsX
Jacksonkr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.