본문 바로가기
Infra2026년 7월 1일3분 읽기

리눅스 파일 권한 완벽 이해 — chmod 755·644의 의미

YS
김영삼
조회 582
리눅스 파일 권한 완벽 이해 — chmod 755·644의 의미

핵심 요약

리눅스 권한은 대상 3종(소유자·그룹·기타) × 권한 3종(읽기 r=4, 쓰기 w=2, 실행 x=1)의 조합이다. 755는 소유자에게 rwx(7), 그룹·기타에 rx(5)를 준다는 뜻. 각 자리 숫자는 그 대상의 r/w/x 합이다.

1. 권한 읽는 법

-rwxr-xr--  1 user group  ...
 │└┬┘└┬┘└┬┘
 │ │  │  └ 기타(others): r--
 │ │  └─── 그룹(group):   r-x
 │ └────── 소유자(owner): rwx
 └──────── 파일 종류(- 파일, d 디렉터리)

2. 숫자 계산

권한
r (읽기)4
w (쓰기)2
x (실행)1

rwx = 4+2+1 = 7, r-x = 4+1 = 5, rw- = 4+2 = 6. 그래서 755 = rwx r-x r-x, 644 = rw- r-- r--.

3. 실무 권장값

대상권한이유
일반 파일644소유자만 수정, 나머지 읽기
디렉터리755x가 있어야 진입 가능
실행 스크립트755실행권한 필요
비밀키·.env600소유자만 접근
SSH private key600느슨하면 ssh가 거부

4. 명령어

chmod 644 file.txt          # 숫자 방식
chmod u+x deploy.sh         # 소유자에 실행 추가(기호 방식)
chmod -R 755 dir/           # 재귀
chmod go-w file             # 그룹·기타 쓰기 제거
chown user:group file       # 소유자/그룹 변경

5. 함정

  • 디렉터리의 x는 "진입" 권한이다. r만 있고 x가 없으면 목록은 봐도 cd·파일 접근이 안 된다
  • chmod 777은 "아무나 쓰기"라 보안상 위험 — 웹 서버 파일에 남발 금지
  • SSH 키가 600보다 느슨하면 "permissions are too open"으로 접속이 거부된다

자주 묻는 질문

644와 755는 언제 뭘 쓰나요?

일반 파일은 644(소유자 읽기·쓰기, 나머지 읽기), 디렉터리와 실행 파일은 755입니다. 디렉터리는 실행 권한(x)이 있어야 그 안으로 들어갈 수 있기 때문에 파일과 달리 x가 필요합니다.

chmod 777로 하면 문제가 해결되던데 왜 쓰면 안 되나요?

모든 사용자에게 읽기·쓰기·실행을 허용하는 것이라 웹 서버가 뚫리면 파일이 변조·실행됩니다. 권한 문제는 소유자(chown)나 필요한 최소 권한으로 해결해야지 777로 덮으면 안 됩니다.

기호 방식(u+x)과 숫자 방식 중 뭐가 좋나요?

전체 권한을 한 번에 지정할 땐 숫자(755)가 명확하고, 기존 권한에서 한 비트만 더하거나 뺄 땐 기호(u+x, go-w)가 안전합니다. 상황에 맞게 섞어 씁니다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록