Linux 또는 macOS에서 zsh 오류 해결 방법: 권한 거부
"zsh: 권한 거부" 오류는 Linux 또는 Mac에서 명령어를 실행하려고 할 때 필요한 실행 권한이 없을 때 발생합니다. 예를 들어 쓰기 권한이 없는 디렉터리에서 `ls` 명령어를 실행하거나, 사용자에게 권한이 없는 작업을 수행하는 스크립트를 실행하는 경우 등이 있습니다. 여기서 "권한"이란 읽기 또는 쓰기 권한을 의미합니다.

이 오류의 주요 원인을 살펴본 다음, 각 해결 방법을 시도해보고 어떤 것이 가장 좋은지 알아보겠습니다.
이 오류는 주로 해당 파일에 대한 실행, 쓰기 또는 읽기 권한이 없을 때 발생합니다.
리눅스 운영체제의 Zsh 셸에 있다고 가정해 보겠습니다. 'cat' 명령어를 사용하여 파일 내용을 보려고 하는데 '권한 거부' 오류가 발생합니다.

이 오류를 해결하려면 먼저 파일 권한을 확인해야 합니다. "ls -l" 명령어를 실행하여 권한을 확인합니다.

보시는 바와 같이, 파일 읽기 권한은 루트 사용자와 루트 그룹만 가능하며, 쓰기 권한 또한 루트 사용자만 가능하도록 설정되어 있습니다.
1. sudo 사용
이 문제를 해결하는 가장 간단한 방법은 실행하려는 명령어 앞에 'sudo'를 붙이는 것입니다 . 이렇게 하면 루트 사용자 권한으로 명령어가 실행됩니다. 또한, 실행하려는 명령어나 작업이 컴퓨터에 해를 끼치지 않을 것이라고 확신하는 경우에도 'sudo'를 사용할 수 있습니다.
따라서 우리는 다음과 같이 운영할 수 있습니다.

sudo cat 파일
2. 파일 또는 파일들의 권한 변경
다음으로 할 수 있는 일은 파일 권한을 변경하는 것입니다. '권한 거부' 오류는 일반적으로 읽기 또는 쓰기 권한 문제로 발생하므로 해당 파일 또는 문제가 되는 파일들의 권한을 변경할 수 있습니다.

해당 파일이 있는 디렉토리에서 'ls -l' 명령을 실행하면 파일의 소유자와 그룹이 루트임을 확인할 수 있습니다.
파일 소유자를 우리 사용자로 변경한 다음 원하는 작업을 수행할 수 있습니다.

저희는 다음과 같은 서비스를 제공할 수 있습니다:
sudo chown [사용자] [파일 이름]
예시에서 v3n0m은 우리가 로그인한 사용자이므로 다음과 같이 명령어를 실행합니다.
sudo chown v3n0m 파일
v3n0m은 저희 사용자 이름입니다. 당신의 경우에도 마찬가지로 당신의 사용자 이름이 될 것입니다.
이제 더 이상 권한 거부 오류가 발생하지 않으므로 해당 파일에 대해 cat 명령을 실행할 수 있습니다.
3. 집행 권한 부여
Zsh 또는 다른 셸에서 파일 이름과 함께 `./`를 사용하면 파일을 프로그램처럼 실행할 수 있습니다. 하지만 파일에 실행 권한이 설정되어 있지 않으면 'zsh: 권한 거부' 오류가 발생합니다.

script1이라는 스크립트를 실행하고 싶다고 가정해 보겠습니다. 터미널에 ./script1을 입력하면 다음과 같은 오류가 발생합니다.
파일의 권한을 확인하기 위해 `ls -la` 명령어를 실행합니다. 보시다시피, 해당 파일에는 실행 권한이 설정되어 있지 않습니다.
해결책은 간단합니다. 파일에 실행 권한을 추가하면 됩니다.
우리는 간단한 주문을 발행합니다.

chmod +x script1
` chmod +x` 명령어 는 파일 소유자, 그룹 및 기타 사용자에게 파일 실행 권한 을 추가 합니다 .
이제 ` ./ script1`을 입력하면 오류 없이 해당 파일을 프로그램으로 실행할 수 있습니다 .
Linux 환경에서 이 오류가 발생하는 경우 자동으로 해결되지만, macOS 또는 Gradle 환경에서 이 오류가 발생하는 경우에는 이 글을 계속 읽어보세요.
zshrc 파일을 편집하세요(macOS).
일부 macOS 사용자는 명령을 실행하려는 디렉토리 내에 있지 않은 상태에서 `zsh`를 사용할 때 문제가 발생한다고 보고했습니다.
만약 비슷한 문제를 겪으신다면, 해결책은 아주 간단합니다.
` home/username` 디렉터리 에 있는 ` .zshrc` 파일을 수정하고 파일 끝에 다음 내용을 추가해야 합니다 .
setopt auto_cd
이렇게 하면 `zsh`에서 ` auto_cd` 옵션 이 활성화됩니다 .
` .zshrc` 파일을 편집하려면 `vim`이나 `vi`와 같은 그래픽 텍스트 편집기 또는 명령줄 텍스트 편집기를 사용할 수 있습니다.
CHMOD 명령어를 사용하여 권한을 설정하는 방법 (Gradle)
Gradle을 사용하는 동안 `gradlew` 파일에 올바른 권한이 설정되어 있지 않으면 "zsh: permission denied" 오류가 발생할 수 있습니다.
이러한 오류를 해결하려면 Gradlew에 올바른 권한을 설정해야 합니다 .
터미널에 이 명령어를 입력할 수 있습니다.
chmod 755 gradlew
이렇게 하면 ` gradlew` 파일이 실행 가능하게 되어 오류가 해결됩니다.
또는 간단히 ` chmod +x gradlew` 명령어를 입력해도 됩니다.
이렇게 하면 `gradlew` 파일도 실행 가능하게 됩니다.
이러한 해결책들이 모두 효과가 없다면 아래에 댓글을 남겨주세요. 저희 기술 담당자가 곧 도와드리겠습니다.
댓글이 닫혀있다.