[Linux] 리눅스 파일 권한(Permission) 완벽 가이드: rwx부터 chmod까지

리눅스 환경에서 실무를 하다 보면 파일 권한(Permission) 문제로 곤란한 상황을 꽤 자주 마주하게 된다. 특정 계정으로 접속해 스크립트를 실행하거나 파일을 수정하려고 할 때, 야속하게도 명령어가 먹히지 않는 경우가 대표적이다.

이럴 때 가장 먼저 점검해야 할 것은 해당 파일의 소유자(Owner), 그룹(Group), 그리고 권한(Permission)이다. 오늘은 이 중에서 리눅스 파일 시스템 보안의 핵심이자 기본인 '파일 권한'에 대해 자세히 알아보겠다. 


1. drwxr-xr-x 한눈에 해부하기

리눅스에서 명령어로 "ls -l"을 입력하면 맨 앞에 해당 파일에 대한 권한을 확인할 수 있다. 기본적으로 권한은 아래와 같이 구성되어 있다. 

d   |   r w x   |   r - x   |   r - x
 [①]     [  ②  ]     [  ③  ]     [  ④  ]

① 파일 타입 (File Type): 맨 앞 1글자는 이것이 파일인지 폴더인지 알려준다. 
  • d: 디렉토리 (Directory)
  • -: 일반 파일 (File)
  • l: 심볼릭 링크 (Link)
② 소유자 (User/Owner): 파일을 만든 '주인'이 가지는 권한입니다. (rwx= 읽고, 쓰고, 실행 가능)
③ 그룹 (Group): 소유자가 속한 '그룹' 멤버들이 가지는 권한입니다. (r-x= 읽고, 실행은 가능하지만 수정은 불가)
④ 기타 사용자 (Others): 주소와 그룹에 속하지 않은 '그 외 모든 사람'의 권한입니다. (r-x= 읽고, 실행만 가능)

2. 권한을 뜻하는 마법의 알파벳: r, w, x

각 구역에 들어가는 3개의 알파벳은 각각 고유한 의미와 '숫자 점수'를 가지고 있다. 권한이 없을 때는 하이픈(-)으로 표시된다. 그리고 각 기호마다 점수가 있는데 정리하면 아래 표와 같다.

기호의미설명
rRead (읽기)파일을 열어보거나, 디렉터리 목록을 볼 수 있음 / 4점 
wWrite (쓰기)파일을 수정하거나, 디렉터리에 파일을 생성/삭제할 수 있음 / 2점
xExecute (실행)파일을 실행하거나, 디렉터리에 접근(cd)할 수 있음 / 1점
-권한 없음해당 위치에 권한이 부여되지 않았음을 의미
예를 들어 chmod 명령어를 통해 파일 권한을 바꿀 수 있는데 chmod 775의 의미는 다음과 같다.
  • rwx = 4 + 2 + 1 = 7 (모든 권한)
  • rw- = 4 + 2 + 1 = 7 (모든 권한)
  • r-x = 4 + 0 + 1 = 5 (읽기/실행 가능)
즉, 소유자와 같은 그룹의 계정은 모든 권한을 가지고 나머지는 읽기와 실행만 할 수 있음을 의미한다. 



댓글 쓰기

0 댓글