콘텐츠로 건너뛰기
» Permission denied? 리눅스 권한 에러 쉽게 해결하기

Permission denied? 리눅스 권한 에러 쉽게 해결하기

리눅스를 처음 사용하는 사람이라면 누구나 한 번쯤 만나는 에러가 있습니다. 바로 이 문장:

Permission denied

처음엔 ‘뭐가 문제지?’ 싶다가, 나중엔 ‘아 또야?’ 싶은, 리눅스의 단골 손님이죠.
이번 글에서는 이 에러가 발생하는 이유와 해결 방법을 가장 현실적인 예제 중심으로 쉽게 풀어보겠습니다.


🔍 왜 ‘Permission denied’ 에러가 뜨는 걸까?

리눅스는 보안이 철저한 시스템입니다. 파일 하나를 열거나, 디렉토리를 수정하거나, 프로그램을 실행할 때에도 권한(Permission)을 확인하죠.
이 때, 당신에게 해당 작업을 수행할 권한이 없다면 리눅스는 정중하지만 단호하게 말합니다.

“Permission denied. (접근 권한 없음)”

그럼 언제 이런 일이 생길까요?

💥 에러가 자주 뜨는 상황 3가지

  1. 실행 권한이 없는 스크립트를 실행하려 할 때

    ./myscript.sh

    bash: ./myscript.sh: Permission denied

  2. 시스템 디렉토리에 파일을 복사할 때

    cp myfile.txt /usr/bin/

    cp: cannot create regular file '/usr/bin/myfile.txt': Permission denied

  3. 시스템 설정 파일을 수정할 때

    vi /etc/hosts

    "hosts" E212: Can't open file for writing

🔍 권한 확인부터 시작하자 – ls -l

가장 먼저 할 일은 권한을 확인하는 것!
파일이나 디렉토리에 어떤 권한이 있는지 보려면 이렇게 입력해 보세요:

ls -l myscript.sh

결과:

-rw-r--r-- 1 yunha yunha 1234 May 28 12:00 myscript.sh

해석:
r: 읽기(Read), w: 쓰기(Write), x: 실행(Execute)
실행 권한(x)이 없으니 실행하려고 하면 Permission denied가 뜨는 거죠.


🛠️ 해결 방법: 상황별로 정리해 드릴게요

1️⃣ 실행 권한을 주자 – chmod +x

chmod +x myscript.sh

이제 다시 실행해보면:

./myscript.sh

2️⃣ 사용자/그룹 변경 – chown

sudo chown yunha:yunha myscript.sh

파일의 소유권을 현재 사용자에게 넘기는 명령입니다.

3️⃣ 루트 권한이 필요한 작업이라면 – sudo

sudo cp myfile.txt /usr/bin/

sudoSuper User Do의 약자. 관리자 권한으로 명령을 실행합니다.

⚠️ 자주 하는 실수 – chmod 777 무조건 사용?

chmod 777 myfile.txt

이건 정말 위험합니다!
모든 사용자에게 모든 권한을 부여하겠다는 뜻이기 때문이죠. 가능하면 피하세요.
+x, u+x, g-w필요한 권한만 부여하는 습관을 들이는 게 중요합니다.


✅ 정리

상황원인해결책
스크립트 실행 오류실행 권한 없음chmod +x
시스템 파일 수정루트 권한 필요sudo 사용
파일 복사 불가소유자 아님sudo chown, sudo cp

🧭 마무리하며

리눅스에서 Permission denied는 ‘당신이 뭘 하려고 했고, 왜 안 됐는가’를 알려주는 좋은 신호입니다.
한 번의 에러가 곧 학습의 기회가 되기도 하니까요.


📚 다음 글 예고

다음 편에서는 리눅스에서 심볼릭 링크(ln -s)를 어떻게 만들고, 언제 쓰는 게 유용한지 알려드릴게요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다