리눅스 파일 권한과 chmod chown 완벽 가이드

 

리눅스 시스템을 운용하다 보면 흔히 접하는 ‘Permission denied’ 오류. 그 핵심 배경에는 리눅스의 파일 및 디렉토리 권한 체계가 숨어 있습니다. 이 글에서는 초보자도 이해할 수 있도록 권한의 개념, 구성, 명령어 사용법 그리고 실전 예시까지 꼼꼼하게 안내합니다.

목차

리눅스 권한, 왜 이렇게 중요할까요?

리눅스의 파일 및 디렉토리 권한은 단순한 기능이 아닙니다. 시스템의 보안과 안정성, 협업을 위한 활용성에 큰 영향을 미칩니다.

  • 시스템 파일 보호 및 무단 접근 차단
  • 프로세스 충돌 및 실행 오류 예방
  • 효과적인 사용자·그룹별 접근 통제

예를 들어 웹 서버 설정 파일이나 DB 권한을 실수로 개방하면, 곧장 치명적인 보안 위협으로 발전할 수 있습니다.

리눅스 파일 권한의 중요성을 나타내는 디지털 파일에 자물쇠 아이콘

권한의 세 가지 핵심 요소: rwx

리눅스 권한은 다음 세 가지로 구성됩니다.

  • r (read): 파일 읽기 또는 디렉토리 내 파일 목록 보기
  • w (write): 파일 수정 또는 디렉토리 내 항목 추가·삭제
  • x (execute): 파일 실행 또는 디렉토리 진입

이 권한들은 4(r), 2(w), 1(x)의 숫자 값으로 요약되어 적용됩니다.

누가 권한을 가질까? (소유자, 그룹, 기타 사용자)

리눅스는 권한을 사용자 유형에 따라 구분 부여합니다.

  • User(u): 해당 파일의 소유자
  • Group(g): 소유자가 속한 그룹
  • Others(o): 나머지 사용자

ls -l 명령을 통해 각 영역별 권한 정보를 확인할 수 있습니다.

-rwxr-xr-- 1 alice devs 4096 Sep 19 12:00 hello.sh

권한 변경의 마법사: chmod 명령어

chmod는 가장 많이 활용되는 권한 변경 명령어로, 두 가지 방식으로 사용됩니다.

심볼릭 모드

chmod u+x my_script.sh
chmod go-rw sensitive_file.txt
chmod a=rw- public_data.txt

8진수 모드

chmod 755 public_folder/
chmod 644 web_page.html
chmod 명령어 사용 중인 터미널 화면과 키보드 타이핑 장면

소유자/그룹 변경: chown 및 chgrp 명령어

파일의 소유자 또는 그룹만 변경하고 싶다면 다음 명령어를 사용합니다.

sudo chown newuser file.txt
sudo chown newuser:newgroup folder/
chgrp newgroup file.txt

실전! 자주 사용되는 권한 설정 예시 및 팁

  • chmod +x script.sh : 쉘 스크립트를 실행 가능하게 설정
  • chmod 755 uploads/ : 디렉토리에 접근 권한 부여
  • chmod 644 index.html : 웹 파일은 소유자는 수정 가능, 나머지는 읽기만 허용
  • chmod 600 config.conf : 민감한 설정파일은 소유자만 접근 가능

Tip: -R 옵션은 재귀적으로 권한 변화를 주지만, 신중하게 사용해야 보안 사고를 막을 수 있습니다.

자주 묻는 질문 (FAQ)

Q: chmod 사용 시 숫자값이 기억나지 않아요. 어떻게 하나요?

A: 심볼릭 모드(u+x 등)를 사용하면 보다 직관적으로 기억할 수 있어 초보자에게 추천됩니다.

Q: chmod 777 설정은 정말 위험한가요?

A: 네. 모든 사용자에게 쓰기 권한을 주므로 악의적인 코드 실행이나 파일 손상이 발생할 수 있습니다.

Q: 디렉토리는 왜 실행(x) 권한이 필요한가요?

A: 디렉토리의 x 권한은 내부 파일·폴더에 접근하고 이동할 수 있도록 해주는 필수 요소입니다.

 

이 글이 마음에 드세요?

RSS 피드를 구독하세요!

댓글 남기기