chmod 8진수 코드(755, 644, 600)와 기호 권한 문자열(rwxr-xr-x)을 서로 변환합니다. 읽기/쓰기/실행 비트를 직접 선택해 권한을 구성하거나, 8진수 값을 입력해 각 비트의 의미를 해석할 수 있습니다.
입력
소유자 (u)
그룹 (g)
기타 (o)
결과
값을 입력하면 계산 결과가 표시됩니다.
결과
해당 권한의 세 자리 8진수 코드입니다. chmod 명령에 그대로 전달합니다(예: chmod ... 파일명).
소유자, 그룹, 기타 사용자별로 읽기(r), 쓰기(w), 실행(x), 또는 없음(–)을 9자리로 나타낸 기호 표기입니다.
권한 분해
파일 소유자(u)에게 부여된 읽기, 쓰기, 실행 권한입니다.
소유 그룹(g)에게 부여된 읽기, 쓰기, 실행 권한입니다.
그 밖의 모든 사용자(o)에게 부여된 읽기, 쓰기, 실행 권한입니다.
chmod 권한
POSIX 파일 권한은 Unix·Linux 시스템에서 파일을 읽고, 쓰고, 실행할 수 있는 사용자를 제어합니다. 모든 파일과 디렉터리는 소유자(u), 소유 그룹(g), 기타 사용자(o)를 위한 세 개의 권한 삼중쌍을 갖습니다. chmod 명령은 이 권한을 설정하는 데 쓰입니다. 이 계산기는 간결한 8진수 표기(예: 755)와 사람이 읽기 쉬운 기호 표기(예: rwxr-xr-x)를 양방향으로 변환합니다.
권한 비트의 구조
각 삼중쌍은 세 비트로 구성됩니다. 읽기(r), 쓰기(w), **실행(x)**입니다. 비트가 설정되면 권한이 허용되고, 해제되면 대시(-)로 표시됩니다. 9자리 기호 문자열은 다음 순서를 따릅니다.
rwxr-xr-x
│││├┤├┤├┤
│││ g o
││└── 소유자 실행
│└─── 소유자 쓰기
└──── 소유자 읽기
왼쪽부터 처음 세 자리는 소유자, 그 다음 세 자리는 그룹, 마지막 세 자리는 기타 사용자의 권한입니다.
8진수 인코딩
각 삼중쌍은 세 비트에 고정 가중치를 부여해 하나의 8진수(0–7)로 변환됩니다.
비트
가중치
읽기
4
쓰기
2
실행
1
삼중쌍의 8진수 값은 설정된 비트의 가중치 합입니다. 예를 들어 읽기 + 실행 = 4 + 1 = 5, 읽기 + 쓰기 + 실행 = 4 + 2 + 1 = 7입니다. 세 자리를 소유자, 그룹, 기타 순서로 이어 쓰면 세 자리 8진수 코드가 완성됩니다.
결과: 755 → rwxr-xr-x. 소유자는 파일을 읽고, 쓰고, 실행할 수 있습니다. 그룹 구성원과 기타 사용자는 읽기와 실행은 가능하지만 쓰기는 불가능합니다. 실행 파일과 공개 디렉터리에 흔히 쓰이는 권한입니다.
자주 쓰이는 권한 패턴
8진수
기호 표기
주요 용도
755
rwxr-xr-x
실행 파일, 웹 접근 가능한 디렉터리
644
rw-r--r--
HTML, 설정 파일, 정적 자산
600
rw-------
개인 키, 패스워드 파일, SSH authorized_keys
700
rwx------
개인 스크립트, 제한된 디렉터리
664
rw-rw-r--
그룹이 쓰기 가능한 공유 프로젝트 파일
777
rwxrwxrwx
세계 쓰기 가능 — 운영 환경에서는 사용 금지
chmod 명령으로 권한 적용하기
8진수 코드를 구했으면 다음과 같이 적용합니다.
chmod 755 myscript.sh
chmod -R 644 public/
-R 플래그는 모드를 하위 파일과 디렉터리 전체에 재귀적으로 적용합니다. 단, 디렉터리에 chmod -R 644를 적용하면 실행 비트가 제거되어 디렉터리 안으로 이동할 수 없게 됩니다. 파일과 디렉터리에 다른 모드를 적용하려면 find와 -type 옵션을 조합합니다.
find . -type f -exec chmod 644 {} +
find . -type d -exec chmod 755 {} +
특수 권한 비트
표준 9비트 외에 POSIX는 선택적 선행 자리로 인코딩되는 세 가지 특수 비트를 정의합니다.
Setuid(4xxx) — 실행 파일에 설정하면 프로세스가 호출자가 아닌 파일 소유자의 유효 사용자 ID로 실행됩니다. passwd 같은 시스템 유틸리티에 흔히 쓰입니다.
Setgid(2xxx) — 파일에 설정하면 프로세스가 파일의 그룹을 상속합니다. 디렉터리에 설정하면 그 안에 생성된 새 파일이 생성자의 기본 그룹이 아닌 디렉터리의 그룹을 상속합니다.
스티키 비트(1xxx) — 디렉터리에 설정하면 파일 소유자, 디렉터리 소유자, root만 내부 파일을 삭제하거나 이름을 바꿀 수 있습니다. 대부분의 Unix 시스템에서 /tmp에 적용되어 있습니다.
이 비트들은 세 자리 모드 앞에 붙여 씁니다. 예를 들어 chmod 4755 binary는 755 권한이 있는 실행 파일에 setuid를 설정합니다.
자주 묻는 질문 (FAQ)
chmod 755는 어떤 의미인가요?
chmod 755는 소유자에게 읽기, 쓰기, 실행 권한을 모두 부여하고(7 = 4+2+1), 그룹과 기타 사용자에게는 읽기와 실행만 허용합니다(5 = 4+1). 실행 파일과 웹 서버 문서 루트처럼 공개적으로 접근 가능한 디렉터리에 사용하는 표준 권한입니다.
644와 755의 차이는 무엇인가요?
둘 다 소유자에게 읽기와 쓰기를 허용하지만(6 = 4+2), 755는 소유자에게 실행 권한을 추가하고 그룹과 기타 사용자에게도 읽기와 실행을 허용합니다. 실제 사용에서 644(rw-r--r--)는 실행이 필요 없는 HTML, 설정 파일 등 일반 파일에 쓰이고, 755(rwxr-xr-x)는 스크립트, 바이너리, 디렉터리에 사용합니다.
chmod 777은 안전한가요?
chmod 777(rwxrwxrwx)은 시스템의 모든 사용자에게 읽기, 쓰기, 실행을 허용합니다. 운영 환경에서는 거의 적합하지 않습니다. 웹 애플리케이션에서 세계 쓰기 가능 파일은 다른 사용자나 침해된 프로세스가 스크립트를 덮어쓰거나 악성 콘텐츠를 삽입할 수 있게 합니다. 애플리케이션에 필요한 최소 권한만 부여하는 것이 좋습니다.