linux 파일 권한
📌 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 권한 사용은 지양하는 것이 좋다.
댓글남기기