Як вимкнути захист системної цілісності на Mac (і чому не потрібно)
Mac OS X 10.11 El Capitan захищає системні файли та процеси за допомогою нової функції, що називається захистом системної цілісності. SIP - це функція рівня ядра, яка обмежує те, що може робити кореневий обліковий запис.
Це відмінна функція безпеки, і майже всі, навіть «найпотужніші» та розробники, повинні залишити її ввімкненою. Але, якщо вам дійсно потрібно змінити системні файли, ви можете обійти його.
Що таке захист системної цілісності?
На Mac OS X та інших UNIX-подібних операційних системах, включаючи Linux, є "кореневий" обліковий запис, який традиційно має повний доступ до всієї операційної системи. Ставши кореневим користувачем - або отримавши кореневі дозволи - надає вам доступ до всієї операційної системи і можливість змінювати і видаляти будь-який файл. Шкідливе програмне забезпечення, яке отримує права доступу до кореневої системи, може використовувати ці дозволи для пошкодження та зараження файлів операційної системи низької якості.
Введіть свій пароль у діалоговому вікні безпеки, і ви дали права доступу до коренів програми. Це традиційно дозволяє робити що-небудь для вашої операційної системи, хоча багато користувачів Mac можуть не зрозуміти цього.
Захист системної цілісності - також відомий як «безкореневий» - функціонує шляхом обмеження кореневого облікового запису. Ядро операційної системи самостійно встановлює перевірки на доступ користувача root і не дозволяє їм робити певні речі, наприклад, змінювати захищені місця або вводити код в захищені системні процеси. Всі розширення ядра повинні бути підписані, і ви не можете вимкнути захист системної цілісності в самому Mac OS X. Програми з підвищеними правами кореня більше не можуть втручатися в системні файли.
Швидше за все, ви помітите це, якщо спробуєте написати в одну з таких каталогів:
- Система
- / bin
- / usr
- / sbin
OS X просто не дозволить це, і ви побачите повідомлення "Операція не дозволена". OS X також не дозволить вам змонтувати інше розташування на одному з цих захищених каталогів, так що це не так.
Повний список захищених розташувань знаходиться на /System/Library/Sandbox/rootless.conf на вашому Mac. Вона включає файли, такі як програми Mail.app і Chess.app, включені в Mac OS X, тому ви не можете видалити їх - навіть з командного рядка, як кореневий користувач. Це також означає, що шкідливі програми не можуть змінювати та інфікувати ці програми.
Не випадково, опція "відновлення дозволів на диск" у Disk Utility - довго використовувалася для усунення проблем, пов'язаних з Mac, - тепер була видалена. Захист системної цілісності має запобігати несанкціонованому втручанню прав доступу до файлів. Програма Disk Utility була перероблена і все ще має опцію "Перша допомога" для виправлення помилок, але не містить жодного способу відновлення дозволів.
Як вимкнути захист системної цілісності
Увага: Не робіть цього, якщо у вас є дуже вагомі причини для цього і точно знаєте, що ви робите! Більшості користувачів не потрібно буде вимикати ці налаштування безпеки. Він не призначений для того, щоб запобігти вам втручатися в систему - він призначений для запобігання зловмисним програмам та іншим погано поведеним програмам. Але деякі утиліти з низьким рівнем можуть функціонувати, лише якщо вони мають необмежений доступ.
Налаштування захисту системної цілісності не зберігається в самому Mac OS X. Натомість він зберігається в NVRAM на кожному окремому Mac. Він може бути змінений лише з середовища відновлення.
Щоб запустити режим відновлення, перезапустіть Mac і утримуйте команду Command + R під час завантаження. Ви ввійдете в середовище відновлення. Натисніть меню "Утиліти" і виберіть "Термінал", щоб відкрити вікно терміналу.
Введіть у термінал таку команду та натисніть Enter, щоб перевірити стан:
статус csrutil
Ви побачите, чи увімкнено захист системної цілісності.
Щоб вимкнути захист системної цілісності, виконайте таку команду:
csrutil відключити
Якщо ви вирішите активувати SIP пізніше, поверніться до середовища відновлення та запустіть таку команду:
csrutil enable
Перезапустіть комп'ютер Mac і нова настройка захисту системної цілісності набуде чинності. Користувач root тепер матиме повний, необмежений доступ до всієї операційної системи та кожного файлу.
Якщо ви раніше мали файли, що зберігалися в цих захищених каталогах, перш ніж оновлювати ваш Mac до OS X 10.11 El Capitan, вони не були видалені. Ви знайдете їх переміщені до каталогу / Library / SystemMigration / History / Migration- (UUID) / QuarantineRoot / на вашому Mac.
Кредит на зображення: Shinji на Flickr