개발 환경 및 프로젝트 관리/Linux 개념

리눅스 파일 권한 변경 명령어: chmod 정리

Data Jun 2025. 10. 7. 10:35

리눅스에서는 **파일이나 디렉터리에 대한 접근 권한(permission)**을 세밀하게 제어할 수 있습니다.
그중 가장 자주 쓰이는 명령어가 바로 chmod입니다.
이번 글에서는 chmod의 기본 개념과 숫자 표기법을 간단히 정리해보겠습니다.

 

chmod란?

chmod는 change mode의 약자로,
파일이나 디렉터리의 읽기(Read), 쓰기(Write), 실행(Execute) 권한을 변경하는 명령어입니다.

chmod [옵션] [권한] [파일명]

 

 

권한의 구성

리눅스에서는 파일 접근 권한이 세 가지 사용자 그룹으로 나뉩니다.

구분 의미 설명
u user 파일 소유자
g group 같은 그룹 사용자
o others 그 외 사용자

각 사용자 그룹은 r(읽기), w(쓰기), x(실행) 세 가지 권한을 가집니다.

권한 의미
r read(읽기) 4
w write(쓰기) 2
x execute(실행) 1

 

 

숫자 표기법 (8진수 방식)

chmod는 각 권한 값을 더한 숫자로 설정할 수 있습니다.

숫자 권한 설명
7 rwx 일기 + 쓰기 + 실행
6 rx- 읽기 + 쓰기
5 r-x 읽기 + 실행
4 r-- 읽기만
0 --- 권한 없음

예를 들어, 다음 명령을 보세요

chmod 755 my_script.sh
구분 권한 설명
user rwx(7) 읽기, 쓰기, 실행 가능
group r-x(5) 읽기, 실행만 가능
others r-x(5) 읽기, 실행만 가능

즉, 소유자는 모든 작업이 가능하고,
다른 사용자는 실행만 가능한 상태가 됩니다.

 

문자 방식 (참고)

숫자 대신 문자로 권한을 설정할 수도 있습니다.

chmod u+x file.sh     # 소유자에게 실행 권한 추가
chmod g-w file.txt    # 그룹의 쓰기 권한 제거
chmod o=r file.txt    # 다른 사용자에게 읽기만 허용

 

 

파일 vs 폴더 권한의 차이

리눅스에서 r, w, x 권한은 파일과 디렉터리에서 의미가 다르게 작동합니다.
즉, 같은 rwx라도 “파일”과 “폴더”에서 하는 일이 다릅니다.

권한 파일(File) 폴더(Directory)
r (read) 파일 내용을 읽을 수 있음
예: cat, less
디렉터리 내부 파일 목록을 볼 수 있음
(ls 가능)
w (write)  파일 내용을 수정할 수 있음 디렉터리 내부에 파일 생성/삭제 가능
x (execute) 파일을 실행 가능 (스크립트나 프로그램 등) 디렉터리 내부로 진입 가능 (cd)

 

 

정리하면

 

chmod는 단순하지만, 시스템 보안을 지키는 데 매우 중요한 명령어입니다.
권한을 넓게 주는 777은 편하지만 위험할 수 있으니,
항상 필요한 만큼만 권한을 부여하는 습관을 들이세요!