Mac OS X 10.11 El Capitan chroni pliki systemowe i procesy za pomocą nowej funkcji o nazwie System Integrity Protection. SIP to funkcja na poziomie jądra, która ogranicza to, co może zrobić konto "root".
Jest to świetna funkcja zabezpieczeń i prawie wszyscy - nawet "zaawansowani użytkownicy" i programiści - powinni ją wyłączyć. Ale jeśli naprawdę potrzebujesz zmodyfikować pliki systemowe, możesz je ominąć.
W systemach Mac OS X i innych systemach operacyjnych podobnych do UNIX, w tym Linux, istnieje konto "root", które tradycyjnie ma pełny dostęp do całego systemu operacyjnego. Zostanie użytkownikiem root - lub uzyskanie uprawnień root'a - daje dostęp do całego systemu operacyjnego oraz możliwość modyfikowania i usuwania dowolnego pliku. Złośliwe oprogramowanie, które uzyskuje uprawnienia root może użyć tych uprawnień do uszkodzenia i zainfekowania plików systemu operacyjnego niskiego poziomu.
Wpisz swoje hasło w oknie dialogowym zabezpieczeń, a otrzymasz uprawnienia root dla aplikacji. Tradycyjnie pozwala to na zrobienie czegokolwiek w systemie operacyjnym, chociaż wielu użytkowników Maców może tego nie zauważyło.
System Integrity Protection - znany również jako "rootless" - działa poprzez ograniczenie konta root. Jądro systemu operacyjnego samo sprawdza dostęp użytkownika root i nie pozwala mu wykonywać pewnych czynności, takich jak modyfikowanie chronionych lokalizacji lub wprowadzanie kodu do chronionych procesów systemowych. Wszystkie rozszerzenia jądra muszą być podpisane i nie można wyłączyć Ochrony integralności systemu z poziomu samego systemu Mac OS X. Aplikacje z podwyższonymi uprawnieniami root nie mogą już manipulować plikami systemowymi.
Najprawdopodobniej zauważysz to, jeśli spróbujesz napisać do jednego z następujących katalogów:
System OS X po prostu na to nie zezwoli, a zobaczysz komunikat "Operacja niedozwolona". System OS X również nie pozwoli ci zamontować innej lokalizacji nad jednym z tych chronionych katalogów, więc nie ma możliwości obejścia tego.
Pełna lista chronionych lokalizacji znajduje się w /System/Library/Sandbox/rootless.conf na twoim Macu. Zawiera pliki takie jak aplikacje Mail.app i Chess.app zawarte w Mac OS X, więc nie możesz ich usunąć - nawet z wiersza poleceń jako użytkownik root. Oznacza to również, że złośliwe oprogramowanie nie może jednak modyfikować i infekować tych aplikacji.
Nieprzypadkowo usunięto opcję "naprawiania uprawnień dyskowych" w Narzędziu dyskowym - długo używanym do rozwiązywania problemów z komputerami Mac. Ochrona integralności systemu powinna w każdym razie zapobiegać manipulowaniu kluczowymi uprawnieniami do plików. Narzędzie dyskowe zostało przeprojektowane i nadal ma opcję "Pierwsza pomoc" do naprawy błędów, ale nie ma możliwości naprawy uprawnień.
Ostrzeżenie: Nie rób tego, chyba że masz ku temu dobry powód i dokładnie wiesz, co robisz! Większość użytkowników nie musi wyłączać tego ustawienia zabezpieczeń. Jego celem nie jest zapobieganie zakłócaniu działania systemu - ma to na celu zapobieganie włamaniom do systemu z powodu złośliwego oprogramowania i innych niewłaściwie zachowanych programów. Jednak niektóre narzędzia niskiego poziomu mogą działać tylko wtedy, gdy mają nieograniczony dostęp.
Ustawienie System Integrity Protection nie jest przechowywane w systemie Mac OS X. Zamiast tego jest przechowywany w pamięci NVRAM na każdym komputerze Mac. Można go modyfikować tylko ze środowiska przywracania.
Aby uruchomić komputer w trybie odzyskiwania, uruchom ponownie komputer Mac i przytrzymaj Command + R podczas uruchamiania. Wejdziesz do środowiska przywracania. Kliknij menu "Narzędzia" i wybierz "Terminal", aby otworzyć okno terminala.
Wpisz następujące polecenie w terminalu i naciśnij klawisz Enter, aby sprawdzić status:
Status csrutil
Zobaczysz, czy Ochrona integralności systemu jest włączona, czy nie.
Aby wyłączyć Ochronę integralności systemu, uruchom następującą komendę:
csrutil wyłącz
Jeśli zdecydujesz, że chcesz włączyć protokół SIP później, wróć do środowiska przywracania i uruchom następujące polecenie:
Włączenie csrutil
Zrestartuj komputer Mac i zostanie wprowadzone nowe ustawienie Ochrony integralności systemu. Użytkownik root ma teraz pełny, nieograniczony dostęp do całego systemu operacyjnego i każdego pliku.
Jeśli wcześniej pliki były przechowywane w tych chronionych katalogach przed uaktualnieniem komputera Mac do wersji OS X 10.11 El Capitan, nie zostały one usunięte. Znajdziesz je przeniesione do katalogu / Library / SystemMigration / History / Migration- (UUID) / QuarantineRoot / na Macu.
Image Credit: Shinji on Flickr