맥 앱을 실행했을 때 “손상되었기 때문에 열 수 없습니다.” 문제 해결방법
앱스토어에서 제공하는 앱이 아닌 개발자가 직접 홈페이지에서 제공하는 앱일 경우 실행했을 때 아래와 같은 메시지가 뜨면서 실행히 안되는 경우가 있습니다.
손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다.
이와 같은 메시지가 나타나는 경우는 맥의 보안 기능 Gatekeeper
가 앱의 문제점을 발견했거나 아니면, 앱이 정상적으로 다운되지 않아서 파일이 깨졌거나 혹은 개발자가 문제(?)있는 앱을 배포했을 경우로 생각해볼 수 있습니다.
정상적으로 다운되지 않아서 파일이 손상되었다면 파일을 다시 새로 받아보고, 문제(?)있는 앱일 경우에는 개발자가 제대로 된 앱을 배포하길 기대하는 수밖에 없지만, Gatekeeper
문제일 경우에는 터미널 명령어로 앱을 실행할 수 있습니다.
( Gatekeeper 와 함께 시스템 무결성 보호(SIP - System Integrity Protection) 기능도 꺼줘야합니다. SIP 해제 방법은 아래에 설명하겠습니다. )
$ sudo spctl --master-disable
그럼, 이제 터미널에 입력해볼까요?
터미널에 Gatekeeper 비활성화 명령어 입력 방법
1. 시스템 환경 설정 확인
우선, 시스템 환경설정
> 보안 및 개인 정보 보호
> 일반
탭에서 다음에서 다운로드한 앱 허용: 부분을 보게 되면 아래 이미지와 같을 것입니다.
위 화면을 확인했다면, 터미널에 명령어를 입력합니다.
2. 터미널에 ‘Gatekeeper’ 비활성화 명령어 입력
터미널에서 아래 명령어를 입력하고 맥 계정 암호를 입력합니다.
$ sudo spctl --master-disable
Password:
이제 다시 시스템 환경설정
> 보안 및 개인 정보 보호
> 일반
탭의 다음에서 다운로드한 앱 허용: 부분에 추가된 모든 곳
옵션을 선택하면 앱을 실행할 수 있습니다.
Gatekeeper 비활성화 명령어를 한 번 입력하면, macOS 를 업데이트 하지 않는 이상 명령어를 다시 입력하지 않아도 모든 곳
옵션이 추가된 상태로 사용할 수 있지만, 안전을 위해 Gatekeeper 를 다시 활성화시키는 것도 좋습니다.
추가) Gatekeeper 활성화 명령어
Gatekeeper 활성화 명령어는 다음과 같습니다.
$ sudo spctl --master-enable
Gatekeeper 를 비활성화 한 다음, SIP (시스템 무결성 보호) 기능도 해제합니다.
SIP 해제 방법
1. 복구모드 진입
부팅할 때, ⌘command + R 버튼으로 리커버리 모드로 들어갑니다.
2. 터미널에서 SIP 해제 명령어 입력
SIP 을 해제하는 명령어는,
$ csrutil disable
해제되었는지 확인하는 명령어는,
$ csrutil status
입니다.
추가) SIP 활성화 방법
복구모드 진입 → 터미널에서 아래 명령어 입력
$ csrutil enable
또는
복구모드 진입 없이 터미널에서 아래 명령어 입력
$ sudo /usr/bin/csrutil clear
독자 의견
저자 @brad 에게 의견 남기기: