Zsh 권한 거부됨은 실행 권한이 없는 Linux 또는 Mac에서 명령을 실행하려고 할 때 발생하는 오류입니다. 이 명령은 쓰기 권한이 없는 디렉터리에서 'ls'를 수행하거나 사용자에게 권한이 없는 작업을 수행하는 스크립트를 실행하는 것만큼 간단할 수 있습니다. 권한이란 읽기 또는 쓰기 권한을 의미합니다.
이 오류의 주요 원인을 살펴본 다음 각 해결 방법을 시도하여 어떤 해결 방법이 가장 효과적인지 알아볼 수 있습니다.
주로 이 오류는 파일 실행, 쓰기, 읽기 권한이 없을 때 발생합니다.
Linux 운영 체제의 Zsh 셸 내부에 있고 'cat'을 사용하여 파일 내용을 나열하려고 시도했지만 '권한 거부' 오류가 발생했다고 가정해 보겠습니다.
이제 이 오류를 수정하려면 먼저 파일의 권한을 나열해야 합니다. “ls -l”을 실행합니다. 권한을 확인하세요.
보시다시피 권한은 루트 사용자와 루트 그룹만 파일을 읽을 수 있고 루트 사용자는 파일에 쓸 수만 있습니다.
1. sudo를 사용하세요
이 문제를 해결하려면 'sudo'를 사용하는 것이 가장 간단한 해결책입니다. 우리가 실행하려는 명령으로. 그러면 루트 사용자로 명령이 실행됩니다. 귀하의 경우에도 실행하려는 명령이나 실행하려는 작업이 컴퓨터에 해를 끼치지 않을 것이라고 확신할 때 'sudo'를 사용할 수 있습니다.
따라서 다음을 실행할 수 있습니다:
sudo cat file
2. 파일의 권한 변경
다음으로 할 수 있는 일은 파일의 권한을 변경하는 것입니다. 권한 거부 오류는 일반적으로 읽기 또는 쓰기 권한으로 인해 발생하므로 해당 특정 파일의 권한을 변경할 수 있습니다.
'ls -l'을 실행하여 파일이 위치한 디렉토리 내에서 파일의 소유자와 그룹이 루트임을 알 수 있습니다.
소유자를 사용자로 변경한 다음 파일로 원하는 작업을 수행할 수 있습니다.
다음을 실행할 수 있습니다:
sudo chown [사용자] [파일 이름]
이 예에서는 v3n0m이 로그인한 사용자이므로 다음과 같은 명령을 실행합니다:
sudo chown v3n0m file
v3n0m은 우리 사용자입니다. 귀하의 경우에는 귀하의 사용자 이름이 됩니다.
이제 더 이상 권한 거부 오류가 발생하지 않으므로 파일에서 cat을 실행할 수 있습니다. .
3. 실행 권한 활성화
zsh 또는 다른 쉘에서 파일 이름과 함께 ./를 사용하여 파일을 프로그램으로 실행할 수 있습니다. 하지만 파일에 실행 권한이 설정되어 있지 않으면 zsh :Permission Denied 오류가 발생합니다.
script1이라는 스크립트를 실행한다고 가정해 보겠습니다. 터미널에 ./script1을 입력하면 다음 오류가 발생합니다.
권한을 확인하기 위해 파일에 대해 ls -la를 수행합니다. 보시다시피 파일에 대한 실행 권한이 설정되지 않았습니다.
여기서 해결 방법은 간단합니다. 파일에 실행 권한을 추가하는 것입니다.
간단한 명령을 내립니다.
chmod +x script1
chmod +x 실행 비트를 추가합니다. 소유자, 그룹 및 기타 사용자에 대한 파일 권한에 대해
이제 ./script1을 입력하여 파일을 프로그램으로 실행할 수 있습니다. 오류 없이.
이렇게 하면 Linux에서 오류가 해결되지만, MacOS 또는 Gradle에서 이 오류가 발생하면 기사를 계속 따르세요.
zshrc 파일 편집(macOS)
일부 사용자는 명령을 실행하려는 디렉토리 내부에 있지 않을 때 MacOS에서 zsh를 사용하여 보고했습니다.
비슷한 문제가 발생하면 해결 방법은 정말 간단합니다.
.zshrc 파일을 편집해야 합니다. 집/사용자 이름 디렉토리에 추가하고 이것을 파일 끝에 추가하십시오.
setopt auto_cd
그러면 zsh의 auto_cd 옵션이 활성화됩니다. .
.zshrc를 편집하려면 파일을 편집하려면 그래픽 텍스트 편집기나 vim이나 vi 같은 명령줄 텍스트 편집기를 사용할 수 있습니다.
CHMOD 명령을 사용하여 권한 설정(Gradle)
Gradle에서 작업 중이고 gradlew 파일에 올바른 권한이 없는 경우 Zsh 권한 거부 오류가 발생할 수 있습니다.
이러한 오류를 수정하려면 gradlew에 올바른 권한을 설정해야 합니다.
터미널에 이 명령을 입력할 수 있습니다.
chmod 755 gradlew
그러면 gradlew 파일을 실행 가능하게 됩니다. 그러면 오류가 수정될 것입니다.
또는 chmod +x gradlew 명령을 간단히 입력할 수도 있습니다.
그러면 gradlew 파일도 실행 가능해집니다.
이러한 해결 방법 중 어느 것도 효과가 없는 경우 아래에 의견을 남겨주시면 당사 기술자가 곧 도움을 드릴 것입니다.
저자 소개
케빈 애로우
Kevin Arrows는 10년 이상의 업계 경험을 보유한 경험이 풍부하고 지식이 풍부한 기술 전문가입니다. 그는 MCTS(Microsoft Certified Technology Specialist) 인증을 보유하고 있으며 최신 기술 개발에 대한 최신 정보를 얻으려는 깊은 열정을 가지고 있습니다. Kevin은 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅과 같은 분야에서 자신의 전문 지식과 지식을 보여주면서 광범위한 기술 관련 주제에 대해 광범위하게 글을 썼습니다. 기술 분야에 대한 그의 공헌은 동료들로부터 널리 인정받고 존경받고 있으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 높은 평가를 받고 있습니다.