chmod 계산기 — 리눅스 파일 권한
리눅스 파일 권한을 8진수(755, 644)와 rwx 기호로 변환하는 온라인 chmod 계산기. 명령 생성과 777 위험 경고까지 브라우저에서 바로 처리합니다.
| 읽기 (4) | 쓰기 (2) | 실행 (1) | 숫자 | rwx | |
|---|---|---|---|---|---|
| 소유자 (u) | 7 | rwx | |||
| 그룹 (g) | 5 | r-x | |||
| 기타 (o) | 5 | r-x |
- 숫자(절대) 모드
chmod 755 file- 기호 모드
chmod u=rwx,go=rx file- 재귀 (-R)
chmod -R 755 dir- 디렉터리만
find dir -type d -exec chmod 755 {} +- 파일만
find dir -type f -exec chmod 644 {} +
팁: chmod -R u+rwX는 디렉터리와 이미 실행 가능한 파일에만 실행 권한을 더합니다 — 일괄 -R 755보다 안전합니다.
리눅스에서 755 같은 숫자 chmod는 디렉터리의 기존 setuid/setgid를 유지합니다 — 00755, =755 또는 u-s,g-s로 명시적으로 해제하세요 (BSD/macOS는 기본적으로 해제).
파일의 현재 모드 확인: stat -c '%a' file (Linux) · stat -f '%Lp' file (macOS)
umask 계산기
effective = base & ~umask
리눅스 파일 권한 차트: 자주 쓰는 chmod 값
| 8진수 | 기호 | 일반적인 용도 | 소유자 | 그룹 | 기타 |
|---|---|---|---|---|---|
| 400 | r-------- | SSH 개인 키 (읽기 전용) | r-- | --- | --- |
| 600 | rw------- | 개인 파일, SSH 키 | rw- | --- | --- |
| 644 | rw-r--r-- | 웹 페이지, 설정 파일 | rw- | r-- | r-- |
| 664 | rw-rw-r-- | 그룹 편집 가능 파일 | rw- | rw- | r-- |
| 666 | rw-rw-rw- | 누구나 편집 가능 — 피할 것 | rw- | rw- | rw- |
| 700 | rwx------ | 개인 디렉터리 | rwx | --- | --- |
| 755 | rwxr-xr-x | 스크립트, 웹 디렉터리 | rwx | r-x | r-x |
| 775 | rwxrwxr-x | 그룹 공유 디렉터리 | rwx | rwx | r-x |
| 777 | rwxrwxrwx | 누구나 무엇이든 가능 — 피할 것 | rwx | rwx | rwx |
| 1777 | rwxrwxrwt | 공유 임시 디렉터리 (/tmp) | rwx | rwx | rwt |
권한 숫자 0-7 한눈에 보기
| 숫자 | 2진수 | rwx | 의미 |
|---|---|---|---|
| 0 | 000 | --- | 권한 없음 |
| 1 | 001 | --x | 실행만 |
| 2 | 010 | -w- | 쓰기만 |
| 3 | 011 | -wx | 쓰기 + 실행 |
| 4 | 100 | r-- | 읽기만 |
| 5 | 101 | r-x | 읽기 + 실행 |
| 6 | 110 | rw- | 읽기 + 쓰기 |
| 7 | 111 | rwx | 읽기 + 쓰기 + 실행 |
chmod란?
chmod — change mode(모드 변경) — 는 파일을 누가 읽고, 쓰고, 실행할 수 있는지 설정하는 유닉스·리눅스 명령입니다. 모든 파일은 세 클래스(소유자, 그룹, 기타 사용자)로 나뉜 9개의 권한 비트를 지니며, chmod는 이를 chmod 755처럼 숫자(절대) 모드의 8진수로도, chmod u=rwx,go=rx처럼 기호 모드의 문자로도 받아들입니다. 두 표기는 정확히 같은 비트를 기술하며, 이 계산기는 둘 사이를 실시간으로 변환합니다.
8진수 축약이 성립하는 이유는 각 권한이 2의 거듭제곱이기 때문입니다: 읽기는 4, 쓰기는 2, 실행은 1이고, 클래스당 한 자리는 단순히 그 합입니다. 그래서 7은 전부(4+2+1), 5는 읽기 + 실행, 6은 읽기 + 쓰기, 0은 아무것도 없음입니다. rwxr-xr-x를 왼쪽부터 세 글자씩 읽으면 7, 5, 5가 나옵니다. 선행하는 네 번째 자리는 특수 모드 — setuid(4), setgid(2), sticky 비트(1) — 를 인코딩하며, 4755나 1777이 생기는 이유입니다. 특수 모드가 있으면 기호 문자열에서 x 자리에 s나 t가 나타납니다.
권한은 유닉스 보안의 첫 번째 층이고, 일상적인 권한 문제 대부분은 몇 가지 패턴으로 좁혀집니다: 실행되지 않는 스크립트에는 실행 권한(u+x)이 필요하고, 들어갈 수 없는 디렉터리에는 x 비트가 빠져 있으며, 웹 자산은 위의 디렉터리가 755인 상태에서 644여야 하고, 개인 키는 OpenSSH가 받아들이도록 600이어야 합니다. 실수도 같은 방식으로 모입니다 — 가장 악명 높은 것이 chmod 777로, 접근 오류를 '해결'하는 대가로 머신의 모든 계정에 쓰기 권한을 넘깁니다. 이 페이지는 산술, 기호, 바로 실행할 수 있는 명령, 위험 경고를 한곳에 모았고, 8진수는 결국 8진법일 뿐이므로 진법 변환기에서 그 바탕이 되는 자릿값 산술을 직접 살펴볼 수 있습니다.
# Make a script executable, then verify with ls -l $ ls -l deploy.sh -rw-r--r-- 1 jack staff 512 Jul 17 10:00 deploy.sh $ chmod 755 deploy.sh $ ls -l deploy.sh -rwxr-xr-x 1 jack staff 512 Jul 17 10:00 deploy.sh # The symbolic equivalent of 755 $ chmod u=rwx,go=rx deploy.sh # Read the current mode as a number $ stat -c '%a' deploy.sh # Linux → 755 $ stat -f '%Lp' deploy.sh # macOS → 755
주요 기능
세 가지 뷰, 하나의 상태
체크박스 매트릭스, 8진수 숫자, 기호 rwx 문자열이 모두 실시간 입력입니다 — 어느 것을 편집해도 나머지 둘이 양방향으로 즉시 따라옵니다.
특수 비트까지 정확하게
setuid, setgid, sticky 비트를 일급으로 다룹니다: 네 번째 8진수 자리, s/S와 t/T 대소문자 규칙, 올바른 기호 절(u+s, g+s, a+t)이 모두 chmod가 이해하는 그대로 표시됩니다.
ls -l을 그대로 붙여넣기
ls -l 줄 전체를 기호 입력란에 넣으세요 — 파일 유형 문자, SELinux 점, ACL 더하기 기호, macOS의 @까지 처리됩니다 — 수동으로 다듬지 않아도 8진수 모드를 바로 확인할 수 있습니다.
실제로 실행할 수 있는 명령
숫자, 기호, 재귀, 그리고 더 안전한 find -type d / find -type f 조합이 각각 복사 버튼과 함께 준비되어 있고 — 파일의 현재 모드를 읽는 stat 명령과 디렉터리 setuid 해제에 관한 GNU 참고 사항도 함께 표시됩니다.
입력과 동시에 위험 경고
누구나 쓸 수 있는 모드는 즉시 표시됩니다: 777과 666은 명확히 경고하고, 기타 사용자 쓰기 비트는 무엇이든 플래그를 세우며, 1777은 오류가 아니라 공유 디렉터리용 sticky 비트 패턴으로 올바르게 인식합니다.
umask, 차트, 퍼머링크
통합 umask 계산기가 새 파일과 디렉터리가 받을 권한을 보여주고, 두 개의 참조 표가 자주 쓰는 모드와 숫자 0-7을 다루며, 링크 복사로 정확한 상태를 공유할 수 있습니다 — 전부 100% 브라우저 안에서 동작합니다.
chmod 권한 예시
755 — 스크립트와 웹 디렉터리의 표준
755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file
모드 755는 소유자에게 전체 제어(읽기 + 쓰기 + 실행 = 4 + 2 + 1 = 7)를, 그룹과 기타 사용자에게는 읽기와 실행만(4 + 1 = 5) 허용합니다. 배포 스크립트나 공개 웹 디렉터리에 정확히 필요한 구성입니다: 서버는 내용을 순회하고 서빙할 수 있지만 수정은 소유자만 가능합니다. 계산기는 숫자 755와 기호 등가물 u=rwx,go=rx 두 가지 명령 형태를 모두 보여주고, 파일 전용 레시피는 자동으로 644로 낮춥니다 — 일반 파일에는 불필요한 실행 비트를 달지 않아야 하기 때문입니다.
600 — 개인 파일을 소유자 전용으로 잠그기
600
rw------- — 소유자만 읽고 쓸 수 있고 다른 사용자에게는 아무것도 보이지 않음
모드 600(rw-------)은 SSH 개인 키, .env 파일, API 자격 증명 등 같은 머신의 다른 계정이 열어서는 안 되는 모든 것에 올바른 설정입니다. OpenSSH는 이를 적극적으로 강제합니다: 그룹이나 기타 사용자가 읽을 수 있는 키는 그 유명한 'Permissions 0644 ... are too open' 오류와 함께 거부됩니다. 600 칩을 불러와 chmod 600 file을 복사하면 위험 패널은 조용히 유지됩니다 — 최소 권한 기준선을 제대로 지킨 상태입니다.
4755 — setuid 해부: x가 s로 바뀌는 이유
4755
rwsr-xr-x — 소유자의 실행 자리에 x 대신 s가 표시됨
선행하는 4가 setuid 비트입니다: 누가 실행하든 프로그램은 파일 소유자의 권한으로 동작합니다 — passwd가 일반 사용자를 대신해 root 소유 파일을 갱신할 수 있는 원리입니다. 기호 표기에서는 소유자의 실행 자리가 x에서 s로 바뀝니다(소문자 s는 실행도 함께 설정된 상태, 대문자 S는 실행 없는 setuid로 거의 항상 실수입니다). 계산기는 네 번째 8진수 자리를 표시하고 setuid 체크박스를 켠 뒤 주의 경고를 띄웁니다 — setuid 실행 파일은 신중한 검토가 필요하기 때문입니다.
ls -l 출력 디코딩 — 줄 전체를 붙여넣기
drwxr-xr-x 5 jack staff 160 Jul 17 dist
755
ls -l 출력에서 줄을 그대로 복사해 기호 입력란에 붙여넣으세요 — 다듬을 필요가 없습니다. 도구는 첫 번째 토큰 drwxr-xr-x를 읽어 선행 d를 권한이 아닌 파일 유형 문자(디렉터리)로 인식하고, 일부 시스템이 덧붙이는 SELinux 점, ACL 더하기 기호, macOS의 @를 허용하며, 나머지 아홉 문자를 8진수 755로 변환합니다. 코드 리뷰나 장애 대응 중 '이 권한이 숫자로 뭐지?'라는 질문에 답하는 가장 빠른 방법이고, 심볼릭 링크의 l과 일반 파일의 -에도 똑같이 동작합니다.
chmod 계산기 사용 방법
- 1
원하는 방식으로 권한 설정
클래스별 읽기, 쓰기, 실행 체크박스를 켜거나, 755·4755 같은 8진수 모드를 입력하거나, 프리셋 칩에서 시작하세요 — SSH 키 400, 개인 파일 600, 웹 파일 644, 스크립트 755 등이 준비되어 있습니다.
- 2
세 가지 뷰를 한 번에 읽기
체크박스 매트릭스, 8진수 값, 기호 rwx 문자열이 어느 방향으로든 항상 동기화되며, 각 행에는 해당 자리 숫자와 세 문자 조각이 작업하는 동안 함께 표시됩니다.
- 3
필요한 명령을 그대로 복사
바로 실행 가능한 다섯 가지 변형이 실시간으로 갱신됩니다: 숫자 모드, 스마트 그룹화가 적용된 기호 표기, 재귀 -R, 그리고 find -type 기반의 더 안전한 디렉터리 전용·파일 전용 조합.
- 4
기존 권한 디코딩
파일 유형 문자와 ACL 표시까지 포함한 ls -l 줄 전체를 기호 입력란에 붙여넣으면 특수 비트를 포함한 8진수 값을 즉시 확인할 수 있습니다.
- 5
umask 확인과 결과 공유
umask 섹션은 새 파일과 디렉터리가 받을 권한을 보여주고, 링크 복사는 현재 모드를 담은 URL을 생성해 코드 리뷰나 런북에 바로 넣을 수 있습니다.
흔한 chmod 실수
Permission denied를 777로 "해결"
모드를 온 세상에 여는 것은 대개 소유권 문제를 해결하는 대신 가리는 것이고 — 시스템의 모든 계정이 파일을 수정할 수 있는 상태를 남깁니다. 소유자를 먼저 고치고 모드는 엄격하게 유지하세요.
sudo chmod -R 777 /var/www # 접근은 되지만 보안은 사라짐
sudo chown -R www-data:www-data /var/www # 소유권을 고치고 755/644 유지
업로드 디렉터리에 일괄 chmod -R
재귀 숫자 모드는 파일과 디렉터리에 같은 값을 적용하므로, 755는 모든 이미지와 문서를 '실행 가능'하게 하고 777은 누구나 쓸 수 있게 합니다. 대신 유형별로 나눠 재귀하세요.
chmod -R 777 uploads/
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} + 디렉터리에 실행 권한이 필요하다는 사실을 잊음
디렉터리의 x 비트는 '들어가고 순회할 수 있음'을 뜻합니다. 644 디렉터리는 목록을 볼 수 있는 사용자조차 cd로 들어갈 수 없어 — 한 단계 안쪽에서 혼란스러운 Permission denied 오류가 발생합니다.
chmod 644 reports/ # cd reports/ → Permission denied
chmod 755 reports/ # 디렉터리는 x가 있어야 들어갈 수 있음
실행 비트 없이 스크립트 배포
새로 생성된 파일은 644 같은 umask 기본값을 물려받으므로, 최소한 소유자에게 실행을 더하기 전까지 ./script.sh는 Permission denied로 실패합니다. CI 러너와 Docker 엔트리포인트가 이 문제를 끊임없이 만납니다.
./deploy.sh # bash: ./deploy.sh: Permission denied
chmod u+x deploy.sh && ./deploy.sh
chmod 계산기로 할 수 있는 일
- 웹 서버에 안전하게 배포
- nginx나 Apache 문서 루트에는 생성된 find 명령으로 디렉터리 755, 파일 644를 설정하고, 배포 전에 위험 패널로 누구나 쓸 수 있는 항목이 없는지 확인하세요. 디렉터리에 기본 인증 보호가 필요하다면 htpasswd 생성기를 함께 사용하세요.
- SSH 키 권한 수정
- 400과 600 프리셋 칩은 OpenSSH가 개인 키에 요구하는 값을 정확히 생성하며, FAQ에서는 키가 그룹에 읽기 가능한 상태로 남았을 때 나타나는 'Permissions 0644 ... are too open' 오류 메시지를 단계별로 다룹니다.
- 장애 대응 중 권한 디코딩
- 프로덕션 셸의 ls -l 줄을 기호 입력란에 그대로 붙여넣어, 머릿속으로 비트를 세지 않고 rwxr-sr-x를 2755로 변환하세요 — 특수 모드, ACL 표시, 파일 유형 문자를 모두 이해합니다.
- 공유 호스팅과 FTP 모드 설정
- 제어판과 FTP 클라이언트는 숫자 모드를 요구합니다: public_html은 755, 페이지는 644, 자격 증명이 담긴 설정 파일은 600. 프리셋을 불러오고 차트를 읽고 숫자를 복사하세요 — 추측할 필요가 없습니다.
- 컨테이너·CI 스크립트 준비
- 엔트리포인트와 훅 스크립트는 Docker나 CI 러너가 실행하기 전에 u+x가 필요하고, 볼륨 마운트는 호스트 모드를 물려받습니다. 각 경우에 맞는 chmod를 여기서 생성하고, 이를 실행할 작업 일정은 crontab 생성기로 예약하세요.
리눅스 파일 권한의 동작 원리
- 8진수 산술: 4 + 2 + 1
- 각 사용자 클래스는 8진수 한 자리를 가지며, 그 숫자는 읽기 = 4, 쓰기 = 2, 실행 = 1의 합입니다. 여덟 가지 조합이 모두 존재합니다: 0 없음, 1 실행만, 2 쓰기만, 3 쓰기 + 실행, 4 읽기만, 5 읽기 + 실행, 6 읽기 + 쓰기, 7 전부. 따라서 640 같은 모드는 소유자 6(읽기 + 쓰기), 그룹 4(읽기만), 기타 0(없음)으로 읽힙니다. 이 페이지의 숫자 표에는 여덟 행이 모두 나열되어 있고, 매트릭스에서는 체크박스를 켤 때마다 같은 합이 쌓이는 과정을 볼 수 있습니다.
- 숫자(절대) 모드와 기호 모드
- chmod는 같은 비트를 두 가지 방식으로 받습니다. 숫자 모드는 완성된 결과를 지정합니다 — chmod 755 file은 이전 상태가 무엇이었든 교체합니다. 기호 모드는 현재 상태를 기준으로 한 변경을 기술합니다: chmod u=rwx,go=rx file은 클래스를 명시적으로 설정하고, chmod g+w file은 비트 하나만 뒤집고 나머지는 그대로 둡니다. 숫자 모드는 스크립트와 배포에서 알려진 정상 상태를 강제하기에 이상적이고, 기호 모드는 u+x 같은 일회성 조정에서 빛을 발합니다. 이 계산기는 두 형태를 모두 출력하며, 숙련된 관리자가 쓰는 방식대로 클래스를 자동으로 병합합니다(go=rx, a=rwx).
- setuid, setgid, sticky 비트
- 선행하는 네 번째 8진수 자리가 특수 모드를 인코딩합니다: setuid = 4000은 실행 파일을 파일 소유자의 권한으로 실행하고, setgid = 2000은 그룹에 대해 같은 일을 하며(디렉터리에서는 새 파일이 그 그룹을 물려받게 함), sticky 비트 = 1000은 공유 디렉터리에서 각 파일의 소유자만 삭제할 수 있게 제한합니다 — /tmp가 대표적인 1777입니다. ls -l에서 특수 비트는 실행 자리를 대체합니다: 실행도 함께 설정되어 있으면 소문자 s나 t, 아니면 대문자 S나 T(대개 점검할 가치가 있는 설정 오류)입니다. GNU/리눅스의 미묘한 점 하나: 숫자 chmod는 디렉터리의 기존 setuid/setgid를 의도적으로 보존합니다 — GNU coreutils 매뉴얼에 문서화된 대로 00755 같은 5자리 모드, =755 같은 등호 절, 또는 u-s,g-s로 해제하세요. BSD와 macOS는 숫자 모드에서 기본적으로 해제합니다.
- umask가 새 파일을 결정하는 방식
- 새로 생성되는 파일은 기준 666에서, 디렉터리는 777에서 시작하고, 프로세스의 umask가 자신이 담고 있는 비트를 끕니다 — 유효 모드 = 기준 & ~umask. 기본 umask 022는 그룹과 기타의 쓰기를 가려 익숙한 644 파일과 755 디렉터리가 됩니다. 더 엄격한 077에서는 600과 700이 되어 모든 것이 소유자 전용으로 유지되고, 협업용 002에서는 664와 775가 되어 그룹이 쓸 수 있습니다. 이 페이지의 umask 섹션이 두 기준 모두에 대해 이 계산을 실시간으로 수행합니다.
파일 권한 모범 사례
- 동작하는 최소 권한만 부여
- 가장 엄격한 모드에서 시작해 문제가 생기는 부분만 여세요: 개인 파일은 600, 공유 읽기 파일은 644, 실행이나 순회가 정말 필요한 곳에만 755. 불필요한 쓰기 비트 하나하나가 공격 표면입니다.
- 기본은 755 디렉터리 안의 644 파일
- 이 조합은 거의 모든 웹 루트, 저장소 체크아웃, 공유 읽기 시나리오에 들어맞습니다. 일반 파일에 실행이 필요한 경우는 드물고, 디렉터리는 들어가려면 항상 실행이 필요합니다 — 이 둘을 뒤바꾸는 것이 일상적인 권한 오류의 대부분을 일으킵니다.
- 재귀는 일괄 -R이 아니라 find -type으로
- chmod -R 755는 모든 파일을 실행 가능으로 표시합니다. 이 도구가 생성하는 디렉터리 전용·파일 전용 명령을 사용하거나, 실행이 필요한 곳에만 더해 주는 GNU chmod의 대문자 X(u+rwX,go+rX)를 사용하세요.
- 서버가 접근하는 곳에 777을 남기지 말 것
- 누구나 쓸 수 있는 웹 루트와 업로드 디렉터리는 파일 주입과 사이트 변조의 교과서적 경로입니다. 여러 계정이 써야 한다면 모드를 온 세상에 여는 대신 775나 2775의 공유 그룹(setgid가 그룹 소유권을 일관되게 유지)을 선호하세요.
- SSH 키는 600으로 — 확정된 키는 400으로
- OpenSSH는 그룹이나 외부에서 읽을 수 있는 개인 키를 즉시 거부합니다. 600이 실무 표준이고, 400은 더 이상 편집할 일 없는 키를 실수로 덮어쓰는 것까지 막아 줍니다. 공개 키와 authorized_keys는 644면 충분합니다.
chmod 계산기 자주 묻는 질문
chmod 777은 무슨 의미인가요?
chmod 777은 위험한가요?
chmod 755와 644의 차이는 무엇인가요?
"Permissions 0644 for 'id_rsa' are too open" 오류는 어떻게 해결하나요?
chmod와 chown의 차이는 무엇인가요?
chmod +x는 어떤 동작을 하나요?
모든 파일과 폴더에 chmod를 재귀적으로 적용하려면 어떻게 하나요?
이 계산기를 사용할 때 데이터가 업로드되나요?
관련 도구
모든 도구 보기 →진법 변환기 (Number Base Converter)
변환 도구
2진수, 16진수, 10진수, 8진수 및 임의 진법(2-36)을 즉시 변환합니다. 온라인에서 무료로 사용할 수 있으며 모든 처리는 브라우저에서 이루어집니다.
색상 변환기 — HEX, RGB, HSL, OKLCH
변환 도구
HEX, RGB, HSL, OKLCH, OKLAB, CMYK 등 9가지 색상 형식을 브라우저에서 즉시 변환합니다. 무료 온라인 도구, 가입 불필요.
HEX CMYK 변환기
변환 도구
HEX 색상을 CMYK로 변환합니다. 인쇄 시안용 sRGB 기반 근사. 무료 온라인 도구, 색상은 페이지를 벗어나지 않습니다.
HEX HSL 변환기
변환 도구
HEX 색상을 HSL로 변환합니다. 3자리, 6자리, 알파 포함 8자리 모두 지원. 무료 온라인 도구, 즉시 변환.
HEX OKLCH 변환기
변환 도구
HEX를 Tailwind v4 디자인 토큰용 OKLCH로 변환합니다. 지각적으로 균일한 실시간 출력과 Display P3 색역 경고. 무료, 브라우저 전용.
HEX RGB 변환기
변환 도구
HEX 색상 코드를 RGB로 변환합니다. 3자리, 6자리, 알파 포함 8자리 모두 지원. 무료 온라인 도구, 즉시 변환.