시스템 무결성 보호
최근 수정 시각: (5년 전)
루트리스에서 넘어옴
삭제하려고 하는 것은 macOS의 인텔 그래픽 드라이버이다. |
1. 개요 [편집]
Apple 고객지원 홈페이지의 'Mac의 시스템 무결성 보호'에 대한 설명 페이지
루트리스(rootless) 혹은 SIP(System integrity protection, 시스템 무결성 보호)라고 하며, OS X El Capitan과 iOS 9에 적용된 기술이다.
루트리스(rootless) 혹은 SIP(System integrity protection, 시스템 무결성 보호)라고 하며, OS X El Capitan과 iOS 9에 적용된 기술이다.
2. 상세 [편집]
일반적인 Unix 운영체제의 경우 rm -rf /를 하면 시스템 전체가 날아간다.[1] 유닉스 기반인 macOS도 이를 피해갈 수 없어서 rm -rf / 명령어로 모든 걸 날릴 수 있었다. 그러나, 10.11 들어서 root를 엿먹이는 루트리스(rootless) 혹은 시스템 무결성 보호라는 시스템이 도입되었다.
간단하게, 무결성 보호는 다음과 같은 시스템 파일들을 루트계정을 써도 못 건든다. Apple에서 커널에다가 아예 박아놔서 Root가 와도 못 건드는 것. 거기다가 이 파일들은 무결성 보호가 켜져 있을 경우 Apple 소프트웨어 업데이트와 연계되어 새로이 업데이트 된다. 루트가 와도 못 건드는 게 아니라, 루트리스는 SELinux 처럼 구동한다. 즉, 접근 권한이 없는 놈들은 무조건 차단. 여기엔 당연히 루트 계정도 포함된다. 그러니까 일반 사용자 입장에선 그냥 놔둬도 상관 없고, 아예 잘못된 실수를 할 수도 없는 상황이 도래했다. 거기다가 이런 보호를 받는 프로그램의 경우 코드 인젝션도 불가능하다. 그래서 이런 프로그램에 관련하던 몇몇 개발자들은 손 털고 나가기도 하였다.
간단하게, 무결성 보호는 다음과 같은 시스템 파일들을 루트계정을 써도 못 건든다. Apple에서 커널에다가 아예 박아놔서 Root가 와도 못 건드는 것. 거기다가 이 파일들은 무결성 보호가 켜져 있을 경우 Apple 소프트웨어 업데이트와 연계되어 새로이 업데이트 된다. 루트가 와도 못 건드는 게 아니라, 루트리스는 SELinux 처럼 구동한다. 즉, 접근 권한이 없는 놈들은 무조건 차단. 여기엔 당연히 루트 계정도 포함된다. 그러니까 일반 사용자 입장에선 그냥 놔둬도 상관 없고, 아예 잘못된 실수를 할 수도 없는 상황이 도래했다. 거기다가 이런 보호를 받는 프로그램의 경우 코드 인젝션도 불가능하다. 그래서 이런 프로그램에 관련하던 몇몇 개발자들은 손 털고 나가기도 하였다.
3. 적용 대상 [편집]
다음은 시스템 무결성 보호가 적용되는 디렉터리 목록이다.
- /System
- /usr
- /sbin
- /bin
- OS X에 사전 설치된 앱 [2]
아래는 시스템 무결성 보호가 적용되지 않는 디렉터리 목록이다.
- /Application
- /Library
- /usr/local [3]
4. 해제 방법 [편집]
해제 방법이 있긴 한데 웬만해서 건드리지 않는 것이 좋다. 굳이 끄고 싶다면 복구 파티션[4]에서 다음과 같은 명령으로 끌수 있다. 만약 다시 켜고 싶으면 뒤에 disable 대신 enable을 적으면 된다. 켤 때는 복구 파티션 상태가 아니여도 일반적인 터미널에서도 켤 수 있다.
csrutil disable
5. 여담 [편집]
라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.