13Aug
Mac OS X 10.11 El Capitan skyddar systemfiler och processer med en ny funktion som heter System Integrity Protection. SIP är en kärnnivåfunktion som begränsar vad "root" -kontot kan göra.
Detta är en utmärkt säkerhetsfunktion, och nästan alla - även "strömanvändare" och utvecklare - borde låta den vara aktiverad. Men om du verkligen behöver ändra systemfiler kan du kringgå det.
Vad är skydd för systemintegritet?
På Mac OS X och andra UNIX-liknande operativsystem, inklusive Linux, finns det ett "root" -konto som traditionellt har full tillgång till hela operativsystemet. Att bli root-användaren - eller få root-behörigheter - ger dig tillgång till hela operativsystemet och möjligheten att ändra och ta bort en fil. Malware som får root-behörigheter kan använda dessa behörigheter för att skada och infektera operativsystemfilerna på låg nivå.
Skriv in ditt lösenord i en säkerhetsdialog och du har gett programrättigheterna. Det här gör det vanligtvis att göra något åt ditt operativsystem, även om många Mac-användare kanske inte har insett det här.
System Integrity Protection - även känt som "rootless" - funktioner genom att begränsa rotkontot. Operativsystemet kärnan själv kontrollerar root-användarens åtkomst och tillåter inte att det gör vissa saker, till exempel modifiera skyddade platser eller injicera kod i skyddade systemprocesser. Alla kärnförlängningar måste vara signerade, och du kan inte inaktivera System Integrity Protection från Mac OS X själv. Applikationer med förhöjda rotbehörigheter kan inte längre manipuleras med systemfiler.
Det är troligt att du märker detta om du försöker skriva till en av följande kataloger:
- / System
- / bin
- / usr
- / sbin
OS X tillåter bara inte det och du ser en "Drift ej tillåtet "meddelande. OS X tillåter inte heller att du monterar en annan plats över någon av dessa skyddade kataloger, så det finns inget sätt i det här.
Den fullständiga listan över skyddade platser finns på /System/Library/Sandbox/ rootless.conf på din Mac. Det innehåller filer som Mail.app och Chess.app-appar som ingår i Mac OS X, så att du inte kan ta bort dessa - även från kommandoraden som root-användare. Det innebär också att skadlig programvara inte kan modifiera och infektera dessa applikationer.
Inte tillfälligt, alternativet "reparationsdiskettbehörighet" i Disk Utility - som länge används för att felsöka olika Mac-problem - har nu tagits bort. System Integrity Protection bör förhindra att viktiga filbehörigheter blir manipulerade med, ändå.Diskverktyget har omformats och har fortfarande ett "förstahjälp" alternativ för att reparera fel, men det innehåller inget sätt att reparera behörigheter.
Så här inaktiverar du systemintegritetsskydd
Varning : Gör inte detta om du inte har en mycket bra anledning att göra det och vet exakt vad du gör! De flesta användare behöver inte inaktivera den här säkerhetsinställningen. Det är inte avsett att förhindra att du stöter på systemet - det är avsett att förhindra att skadliga program och andra dåligt betalda program störs med systemet. Men vissa verktyg på låg nivå kan bara fungera om de har obegränsad tillgång.
Inställningen för systemintegritets skydd lagras inte i Mac OS X själv. Istället lagras den i NVRAM på varje enskild Mac. Det kan bara ändras från återställningsmiljön.
För att starta i återställningsläge, starta om Mac och håll Command + R när den startar. Du kommer in i återställningsmiljön. Klicka på menyn "Verktyg" och välj "Terminal" för att öppna ett terminalfönster.
Skriv följande kommando i terminalen och tryck på Enter för att kontrollera status:
csrutil status
Du får se om System Integrity Protection är aktiverat eller inte.
För att inaktivera System Integrity Protection, kör följande kommando:
csrutil inaktivera
Om du väljer att du vill aktivera SIP senare, återgå till återställningsmiljön och kör följande kommando:
csrutil aktivera
Starta om Mac och ditt nya systemintegritets skyddinställningen kommer att träda i kraft. Rotenanvändaren har nu fullständig, obegränsad tillgång till hela operativsystemet och varje fil.
Om du tidigare har sparat filer i dessa skyddade kataloger innan du uppgraderade din Mac till OS X 10.11 El Capitan, har de inte raderats. Du hittar dem flyttat till /Library/SystemMigration/History/ Migration-( UUID) /QuarantineRoot/-katalogen på din Mac.
Bildkrediter: Shinji på Flickr