📌 Linux 파일 권한이란?

info

Linux 파일 권한은 파일에 접근할 수 있는 사용자 범위와 수행 가능한 작업을 제어하는 보안 메커니즘이다.

리눅스 서버를 운영하거나 Spring Boot 애플리케이션을 배포하다 보면 파일 권한(permission) 설정을 반드시 이해해야 한다.

특히 backend_boot 프로젝트처럼 서버에서 애플리케이션을 실행하거나 로그 디렉토리, 업로드 파일을 관리할 때 파일 권한 설정은 매우 중요하다.

이 문서에서는 리눅스에서 자주 사용하는 777, 755, 750, 700 권한이 무엇을 의미하는지 정리한다.


📌 파일 권한 구조

Linux 파일 권한은 세 가지 사용자 범위로 구성된다.

구분 의미
User 파일 소유자
Group 동일 그룹 사용자
Other 그 외 모든 사용자

각 사용자에게 다음 세 가지 권한이 부여된다.

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

예시

-rwxr-xr-x

구조

[파일타입][User][Group][Other]

📌 숫자 권한 계산 방식

리눅스에서는 권한을 숫자로 표현한다.

권한
r 4
w 2
x 1

권한은 값을 더해서 계산한다.

계산 의미
7 4+2+1 rwx
6 4+2 rw
5 4+1 r-x

📌 주요 권한 예시

777

chmod 777 file
User Group Other
rwx rwx rwx

모든 사용자가 읽기 / 쓰기 / 실행 가능하다.

운영 서버에서는 보안상 사용을 지양해야 한다.


755

chmod 755 file
User Group Other
rwx r-x r-x

특징

  • 소유자만 수정 가능
  • 다른 사용자는 읽기 및 실행 가능

서버에서 실행 파일 및 애플리케이션 디렉토리에 가장 많이 사용되는 권한이다.


750

chmod 750 directory
User Group Other
rwx r-x

특징

  • 소유자 : 모든 권한
  • 그룹 : 읽기 및 실행 가능
  • 기타 사용자 : 접근 불가

backend_boot 프로젝트 운영 환경에서는 다음 디렉토리에 적합하다.

  • 로그 디렉토리
  • 업로드 파일 저장 디렉토리

700

chmod 700 directory
User Group Other
rwx

오직 소유자만 접근 가능하다.

주로 다음 위치에서 사용된다.

  • SSH Key
  • 인증 정보 파일
  • 민감한 설정 파일

📌 권한 확인 방법

ls -l

예시

-rwxr-x--- 1 app app 1024 Mar 12 run.sh
항목 의미
-rwxr-x— 파일 권한
app 파일 소유자
app 그룹
run.sh 파일 이름

📌 권한 변경 명령어

권한 변경

chmod 755 file

디렉토리 포함 변경

chmod -R 755 directory

소유자 변경

chown user:group file

📌 backend_boot 서버 운영 권한 전략

backend_boot 서버 운영 시 다음 권한 전략을 권장한다.

대상 권한
실행 파일 755
로그 디렉토리 750
업로드 디렉토리 750
민감한 설정 파일 700

또한 777 권한 사용은 지양하는 것이 좋다.


연결 문서

댓글남기기