Unix 명령어에 익숙한 사용자에게 있어 터미널은 프로세스와 작업을 수행하는 정말 좋은 방법 중 하나입니다. 대부분의 경우, 올바른 명령어를 입력하기만 하면 사용자가 의도한 동작을 수행합니다. 그러나 때에 따라 '허가 거부(Permission denied)'라는 오류 메시지가 나타나는 것을 볼 수 있습니다. 이 글을 통해 해결 방법을 알려드리겠습니다.
터미널은 무엇인가요?
터미널은 커맨드라인, 즉 명령줄 인터페이스를 통해 명령어를 입력하는 방식으로 Mac에서 실행 중인 프로세스와 작업을 제어할 수 있습니다. macOS 운영체제가 Unix 기반인 덕분에 일반적인 Unix 명령어를 해독하고 실행할 수 있습니다. macOS Catalina까지 터미널의 기본 쉘은 'bash'였습니다. 지금은 zsh가 기본적으로 사용되고 있습니다. 해당 쉘은 일부 작업에서 사용이 더 용이할 뿐만 아니라 상대적으로 엄격한 사용자 권한이 필요하지 않다는 점에서 bash와 비교했을 때 몇 가지 이점을 가지고 있습니다. 어떤 쉘 터미널이 실행되고 있는지 확인하려면 터미널 윈도우의 상단을 보면 알 수 있습니다.
왜 사람들은 터미널을 사용하나요?
Mac 사용자가 터미널을 좋아하는 데에는 여러 이유가 있습니다. Unix 명령어에 익숙한 경우 터미널을 통해 프로세스와 작업을 무척 신속하게 수행할 수 있습니다. 터미널을 사용하는 또 다른 이유 중 하나는 시스템 환경설정에 나타나지 않는 macOS의 숨겨진 기능에 접근할 수 있기 때문입니다. 외부 앱을 통해서만 변경 가능한 설정도 터미널을 사용하면 손쉽게 변경할 수 있습니다. 예를 들어, 스크린샷 이미지의 기본 파일 형식을 png에서 jpg로 변경하려면 터미널을 사용하면 됩니다.
'허가 거부(permission denied)'는 무슨 의미인가요?
이 오류 메시지가 터미널이 파일에 액세스할 수 없기 때문에 실행하려는 명령을 완료할 수 없다는 의미입니다. 또한 오류 이름에서 알 수 있듯이 파일에 액세스할 수 없는 이유는 권한이 없기 때문입니다. 여기에는 몇 가지 원인이 있을 수 있는데 대부분 다음과 같은 이유입니다:
- 파일을 편집할 권한이 없을 때;
- 파일이 잠겨 있을 때;
- 명령어를 올바르지 않는 양식으로 입력했을 때.
터미널에서 '허가 거부'를 해결하는 방법
이제 해결 방법으로 넘어가 보겠습니다. 가장 간단한 방법부터 시작해 수동 솔루션순으로 알려드립니다.
터미널과 관련된 문제를 해결하는 더 쉬운 방법
터미널 자체의 문제로 인해 '권한 거부' 오류가 표시되는 경우도 있습니다. 또 디른 해결 방법은 앱을 초기화하는 것입니다. 가장 간편한 방법은 CleanMyMac X 라는 유용한 앱을 사용하는 것입니다. CleanMyMac X는 이 문제를 비롯해 디스크 여유 공간을 확보하고, Mac을 최적화하며, 악성코드로부터 시스템을 보호하는 다양한 모듈이 포함되어 있습니다. 이 앱은 Apple로부터 공증을 받았으며, 여기서무료로 다운로드할 수 있습니다.
- 앱을 실행하고 사이드바에서 응용 프로그램 설치 제거를 클릭합니다.
- 검색 상자를 사용해 터미널을 찾습니다.
- 파일 크기 옆에 있는 화살표를 클릭합니다.
- 환경설정, 지원 파일, 로그 옆에 있는 동그라미를 체크합니다.
- 터미널 옆에 있는 화살표를 클릭한 뒤 초기화를 선택합니다.
- 초기화 버튼을 클릭합니다.
파일 권한 확인하기
파일의 권한을 확인하는 데는 여러 방법이 있습니다. 보통 Finder 또는 터미널을 통해 할 수 있습니다. 아래 두 가지 방법을 알려드리겠습니다.
터미널
- 터미널을 실행한 뒤 다음 명령어를 입력하고 그 뒤에 공백을 한 칸 넣습니다:
ls -l
- 오류 메시지가 나타날 때 작업하려는 파일 또는 폴더를 Finder에서 찾은 후 터미널 창으로 끌어놓습니다.
- 엔터 키를 누릅니다.
- 따라서 사용자 이름 앞의 문자열에 'rwxr'이라는 문자가 표시되면 해당 파일을 읽고 쓰고 실행할 수 있음을 의미합니다. 만약 'r' 밖에 표시되지 않는 경우는 사용자에 대해 해당 파일이 읽기 전용(read only) 상태임을 의미합니다.
Finder
- Finder에서 파일이나 폴더를 찾습니다.
- Command-I 키를 눌러 속성 윈도우를 엽니다.
- 윈도우 맨아래 공유 및 사용 권한을 찾습니다. 그 아래에 아무것도 없으면 옆의 화살표를 클릭합니다.
- 사용자 이름 옆의 액세스 권한을 확인하세요. '읽기 및 쓰기''로 표시되어야 합니다
파일 권한 변경하기
방금 확인한 권한이 파일 쓰기를 허용하지 않는다면 '허가 거부됨(permission denied)' 오류의 원인일 가능성이 있습니다. Finder에서 문제를 해결하려면, 공유 및 사용 권한 섹션에서 사용자 이름 옆에 있는 권한을 클릭한 뒤 읽기 및 쓰기를 선택합니다.
터미널에서 권한을 변경하려면 다음과 같이 진행하세요:
- 다음 명령어를 입력하고 그 뒤에 공백을 한 칸 넣습니다:
chmod 755
- 해당 명령어 뒤에 파일이나 폴더를 터미널 창 안에 끌어놓습니다.
- 엔터 키를 누릅니다.
- 파일 또는 폴더의 권한이 읽기, 쓰기 및 실행으로 변경됩니다.
디렉토리 소유권 변경
파일 권한을 변경해도 문제가 해결되지 않으면, 디렉토리 소유자를 사용자 이름으로 변경해 보세요. 다음 명령은 [username]을 사용자 이름으로 변경하고, [directorypath]를 소유자를 변경하려는 디렉토리 경로로 변경합니다. 앞서와 마찬가지로 파일을 터미널로 드래그하는 것만으로도 가능합니다.
- 다음과 같이 입력합니다:
chown -R $[username]:[username] [directorypath]
- 엔터 키를 누릅니다.
터미널의 '허가 거부(Permission denied)' 오류는 일반적으로 작업하려는 파일 또는 디렉토리의 권한 문제로 인해 발생합니다. 일반적으로 권한을 변경하거나 소유권을 재할당하면 수정할 수 있습니다. 그래도 해결되지 않을 때는 CleanMyMac X를 사용하여 터미널 앱을 재설정한 뒤 명령을 올바르게 입력했는지 확인하시기 바랍니다.