리눅스 Chmod 파일 권한 계산기 (755, 644, rwxr-xr-x)

HOT

소유자/그룹/기타 읽기·쓰기·실행 체크박스로 8진수(755, 644) 및 심볼릭(-rwxr-xr-x) 권한 양방향 계산

ADVERTISEMENT · TOP BANNER

Responsive 728x90 / 320x100 Ad Slot

(CLS Prevention Active · Zero Shift)
100% 브라우저 연산 (서버 전송 없음, 개인정보 안전)
Interactive Client Mode
프리셋:
8진수 표기 (Octal)

755

심볼릭 표기 (Symbolic)

-rwxr-xr-x

Linux Shell Command

chmod 755 <filename>

소유자 (Owner / User)
7
그룹 (Group)
5
기타 (Others / Public)
5
ADVERTISEMENT · HIGH CTR IN-FEED

Native In-Feed / High Viewability Ad Slot

(CLS Prevention Active · Zero Shift)

리눅스/유닉스 POSIX 파일 권한 체계와 Chmod 보안 아키텍처

리눅스(Linux)와 유닉스(Unix, macOS 포함) 운영체제는 멀티유저(Multi-user) 및 멀티태스킹 환경을 위해 설계된 POSIX 표준 접근 제어 모델을 기반으로 동작합니다. 시스템에 상주하는 모든 파일과 디렉토리, 심지어 디바이스 드라이버까지 유닉스 철학에 따라 '파일(File)'로 취급되며, 이들 각각에는 누가 해당 리소스를 읽고(Read), 수정하고(Write), 실행(Execute)할 수 있는지를 통제하는 엄격한 권한 비트(Permission Bits)가 부여됩니다. 권한 설정 명령어인 `chmod`(Change Mode의 약자)는 서버 보안과 시스템 관리의 가장 첫 관문이자, 잘못 설정되었을 때 심각한 보안 침해 사고(예: 원격 코드 실행, 기밀 파일 유출)를 유발할 수 있는 가장 중요한 유틸리티입니다.

POSIX 파일 권한은 시스템 사용자를 소유자(User/Owner), 소유 그룹(Group), 그리고 제3자인 기타 사용자(Others/World)의 3개 권한 주체로 구분합니다. 각 주체는 독립적으로 읽기(r=4), 쓰기(w=2), 실행(x=1) 권한을 부여받아 3자리의 8진수(Octal, 0~7) 또는 9자리의 심볼릭 문자열(예: `-rwxr-xr-x`)로 표현됩니다. 특히 일반 파일과 디렉토리에서 '실행(x)' 권한의 의미가 근본적으로 다릅니다. 일반 파일에서 실행 권한은 바이너리 프로그램이나 셸 스크립트를 메모리에 적재하여 실행할 수 있는 자격을 의미하지만, 디렉토리에서 실행 권한은 해당 디렉토리 내부로 이동(`cd`)하거나 하위 메타데이터에 접근(Search/Traverse)할 수 있는 필수 자격을 의미합니다.

클라우드 인프라와 컨테이너(Docker, Kubernetes) 환경이 보편화된 현대 DevSecOps 환경에서 파일 권한 제어는 최소 권한의 원칙(Principle of Least Privilege)을 준수해야 합니다. 예를 들어 AWS EC2 인스턴스 접속용 SSH 개인키(`.pem`, `id_rsa`)는 권한이 `600` 또는 `400`이 아니면 SSH 클라이언트 엔진이 키 노출 위험을 감지하여 접속 자체를 강제 차단합니다. 또한 Nginx나 Apache 같은 웹 서버 운영 시 웹 루트 디렉토리는 `755`, 정적 HTML/CSS/이미지 문서는 `644`를 표준으로 적용하여 웹 서비스 데몬이 파일에 접근하되 외부 방문자나 악성 프로세스가 파일을 변조하지 못하도록 차단해야 합니다. 오르보킷 Chmod 권한 계산기는 비트 연산과 8진수, 심볼릭 표기, 터미널 명령어를 실시간으로 상호 변환하여 안전하고 직관적인 인프라 설정을 지원합니다.

POSIX 파일 권한의 2진수 비트마스크(Bitmask)와 8진수 합산 수학 공식

9개의 독립적인 권한 비트가 3자리 8진수로 인코딩되는 바이너리 매핑 원리와 특수 권한 비트(Special Bits)의 구조입니다.

권한 8진수 가중치 합산 공식 (Octal Weighting Formula)Mathematical Formulation
Octal Value = (r × 4) + (w × 2) + (x × 1) [단, r, w, x ∈ {0, 1}]

읽기(Read)는 2진수 2^2=4(100₂), 쓰기(Write)는 2^1=2(010₂), 실행(Execute)은 2^0=1(001₂)에 대응합니다. 각 권한 주체의 최종 8진수는 활성화된 비트 값의 단순 합(0~7)으로 결정됩니다. 특수 권한(SUID=4, SGID=2, Sticky=1)이 활성화될 경우 맨 앞에 4번째 자릿수가 추가되어 4자리의 8진수(예: 4755, 1777)로 확장됩니다.

웹 서버 디렉토리 권한 '755' 및 구성 파일 '644'의 2진수 비트 전개 및 심볼릭 변환
소유자(Owner) 권한 74(r) + 2(w) + 1(x) = 7 = 111₂rwx (읽기, 쓰기, 실행 모두 허용)
그룹(Group) 권한 54(r) + 0 + 1(x) = 5 = 101₂r-x (읽기 및 진입 허용, 수정 금지)
기타 사용자(Others) 권한 54(r) + 0 + 1(x) = 5 = 101₂r-x (외부 방문자 읽기 및 탐색만 허용)
최종 심볼릭 및 Octal 표기[d] + rwx + r-x + r-xdrwxr-xr-x (Octal 755, 웹서버 디렉토리 표준)

👉 소유자는 자유롭게 파일을 추가/삭제/수정할 수 있으면서, 웹 서버 데몬과 외부 사용자는 수정 권한 없이 안전하게 탐색하고 읽을 수 있는 가장 이상적인 권한 격리가 성립됩니다.

리눅스/유닉스 대표 Chmod 권한 코드 및 실무 적용 가이드

시스템 엔지니어와 웹마스터가 가장 빈번하게 적용하는 8진수 권한과 보안 권장 사항

8진수 (Octal)심볼릭 (Symbolic)2진수 비트소유자 / 그룹 / 타인주요 권장 대상 및 실무 용도
777rwxrwxrwx111 111 111모두 rwx / 모두 rwx / 모두 rwx전체 허용 (보안상 치명적 위험, 상용 서버 절대 사용 금지)
755rwxr-xr-x111 101 101읽기·쓰기·실행 / 읽기·실행 / 읽기·실행웹 서버 공개 디렉토리, 셸 스크립트 실행 파일, 공용 바이너리
750rwxr-x---111 101 000읽기·쓰기·실행 / 읽기·실행 / 접근불가특정 그룹 전용 실행 프로젝트 디렉토리 (타인 완전 격리)
700rwx------111 000 000읽기·쓰기·실행 / 접근불가 / 접근불가개인 홈 디렉토리(`~/.ssh`), 민감한 루트 전용 실행 배치 파일
666rw-rw-rw-110 110 110읽기·쓰기 / 읽기·쓰기 / 읽기·쓰기누구나 수정 가능한 공용 파일 (소켓/FIFO 제외 시 위험)
644rw-r--r--110 100 100읽기·쓰기 / 읽기 전용 / 읽기 전용일반 정적 파일(HTML, CSS, 이미지, 텍스트), 공개 설정 파일
640rw-r-----110 100 000읽기·쓰기 / 읽기 전용 / 접근불가웹 애플리케이션 환경 변수(`.env`), 특정 서비스 그룹 공유 설정
600rw-------110 000 000읽기·쓰기 / 접근불가 / 접근불가SSH 비밀키(`id_rsa`), DB 비밀번호 설정 파일, 개인 기밀 문서
400r--------100 000 000읽기 전용 / 접근불가 / 접근불가AWS EC2 `.pem` 키 파일 최상위 보안 권장 (읽기 전용 잠금)
1777rwxrwxrwt특수비트+777임시 공용 폴더 (Sticky)`/tmp`, `/var/tmp` (누구나 쓰되 본인 파일만 삭제 가능)

* 참고: 특수 권한 비트인 Sticky Bit(1000), SGID(2000), SUID(4000)는 최상위 자릿수에 조합되어 사용됩니다.

ADVERTISEMENT · IN-ARTICLE CONTENT

High-Engagement In-Article Native Ad Slot

(CLS Prevention Active · Zero Shift)

사용 방법

11. 3대 주체별 체크박스 선택 (소유자, 그룹, 기타)

소유자(User), 그룹(Group), 기타 사용자(Others) 영역에서 읽기(r), 쓰기(w), 실행(x) 체크박스를 토글합니다.

22. 8진수 권한 코드(Octal Mode) 실시간 확인 및 직접 입력

체크박스 클릭과 동시에 3자리 8진수(예: 755, 644, 600)가 실시간 계산되며, 반대로 숫자 입력창에 직접 3자리 숫자를 입력하여 체크박스를 자동 세팅할 수도 있습니다.

33. 심볼릭 문자열(`-rwxr-xr-x`) 및 리눅스 터미널 CLI 명령어 복사

터미널에서 바로 실행 가능한 `chmod 755 [파일명]` 및 `chmod -R 755 [디렉토리명]` 명령어가 자동 완성되므로 클릭 한 번으로 복사하여 셸에 붙여넣습니다.

44. 실무 필수 보안 프리셋(Preset) 원클릭 로드

일반 웹 문서(644), 웹루트/실행 스크립트(755), SSH 비밀키(600/400), 비공개 스크립트(700) 등 엔지니어링 표준 프리셋 버튼을 클릭하여 즉각 반영합니다.

실무 직무별 Chmod 권한 제어 활용 시나리오

웹 호스팅, 클라우드 서버 관리, DevSecOps 파이프라인에서의 구체적 활용법

웹 호스팅(Nginx/Apache) 정적 리소스 배포

`find /var/www/html -type d -exec chmod 755 {} +` 및 `find /var/www/html -type f -exec chmod 644 {} +` 명령으로 디렉토리와 파일의 권한을 일괄 분리 적용하여 안전한 웹 서비스를 보장합니다.

AWS EC2 SSH 개인키 접근 오류 해결

다운로드받은 `my-key.pem` 파일에 `chmod 400 my-key.pem`을 실행하여 소유자 읽기 전용으로 잠급니다. 이를 적용하지 않으면 OpenSSH가 'Permissions 0644 are too open' 에러를 내며 세션을 거부합니다.

CI/CD 자동화 배포 스크립트 실행 자격 부여

GitHub Actions나 Jenkins 러너에서 새로 체크아웃된 빌드 스크립트(`deploy.sh`)에 `chmod +x deploy.sh`(또는 `chmod 755 deploy.sh`)를 부여하여 Permission Denied 중단 없이 파이프라인을 가동합니다.

데이터베이스 비밀번호 및 환경설정(.env) 파일 격리

운영 서버의 `.env` 파일에 `chmod 600 .env`를 지정하고 소유자를 실행 유저(`www-data` 등)로 제한하여 웹 데몬 외부 침투 시 기밀 유출 반경을 최소화합니다.

💡 시스템 엔지니어가 전수하는 Chmod 실무 보안 팁 & 트러블슈팅

✓ 파일과 디렉토리를 구별하지 않는 chmod -R 777은 절대 금지

개발 중 '권한 없음' 에러가 났다고 습관적으로 `-R 777`을 주면 모든 텍스트/설정 파일에 실행 비트가 켜지고 악성 프로세스가 웹루트의 파일을 임의로 덮어쓰거나 웹셸을 구동하는 치명적 침해사고가 발생합니다.

✓ find 명령어를 활용한 디렉토리/파일 권한 분리 배치 적용

폴더에는 진입을 위한 `x`(755)가 필요하지만 문서에는 `x`가 필요 없습니다. `find . -type d -exec chmod 755 {} +`와 `find . -type f -exec chmod 644 {} +`를 조합해 일괄 정밀 권한을 부여하세요.

✓ 대문자 X 플래그(chmod a+X)의 영리한 활용

심볼릭 표기법에서 소문자 `x` 대신 대문자 `X`를 지정하면, 디렉토리이거나 이미 실행 권한이 켜져 있던 실행 파일에만 선택적으로 실행 비트를 부여하여 일반 데이터 파일을 안전하게 보존합니다.

✓ umask(기본 생성 권한 마스크) 값 확인하기

새 파일이나 폴더 생성 시 적용되는 기본 권한은 기본값 777(디렉토리)/666(파일)에서 `umask` 값을 뺀 결과입니다. 통상적인 서버의 umask 022는 파일 기본 권한 644, 디렉토리 755를 보장합니다.

⚠️ 흔히 하는 실수 & 예방법

❌ 디렉토리에서 실행(x) 권한을 빼버려 하위 파일에 접근 불가가 되는 실수
✅ 디렉토리에 `r`만 주고 `x`를 빼면 목록(`ls`)은 보이지만 정작 해당 디렉토리로 이동(`cd`)하거나 내부 파일 내용을 읽을 수 없습니다. 디렉토리에는 반드시 `x` 권한을 함께 부여하세요.
❌ 루트 디렉토리(/)에서 재귀적 권한 변경 chmod -R 777 / 실행
✅ 절대 경로 지정 실수나 오타로 루트 디렉토리 권한을 일괄 변경하면 sudo 데몬, SSH 데몬이 권한 이상으로 즉시 다운되어 서버에 영구적으로 로그인할 수 없게 됩니다. 항상 작업 디렉토리를 확인하고 상대경로를 신중히 검토하세요.
❌ chown(소유자 변경)을 잊고 chmod만 반복하여 실패하는 경우
✅ 파일의 소유자(User)나 그룹(Group)이 현재 실행 프로세스와 맞지 않으면 아무리 755/644를 주어도 쓰기 작업이 실패합니다. `chown -R www-data:www-data /path`처럼 올바른 소유권을 먼저 맞추어야 합니다.
❌ SSH 키 파일에 644나 755 권한을 부여한 채 방치하는 실수
✅ SSH 프로토콜은 타인이나 그룹이 개인키를 읽을 수 있으면 인증을 거부합니다. 키 파일은 즉시 `chmod 600` 또는 `chmod 400`으로 변경하여 단독 소유자만 읽을 수 있도록 잠그세요.

자주 묻는 질문 (FAQ)

사용자 및 전문가들이 가장 자주 묻는 핵심 질문과 명확한 해답입니다.

6 Q&As

OpenSSH 클라이언트는 비대칭 암호키의 기밀성을 보호하기 위해 그룹이나 다른 사용자가 읽을 수 있는 권한(0644, 0755 등)이 부여된 키 파일의 사용을 강제로 차단합니다. 터미널에서 `chmod 400 id_rsa` 또는 `chmod 600 id_rsa`를 실행하여 소유자 이외의 모든 권한 비트를 제거하면 정상 접속됩니다.

ADVERTISEMENT · FOOTER BANNER

Wide Responsive Banner

(CLS Prevention Active · Zero Shift)