chmod 권한 계산기
개발chmod 8진수, 기호 표기, 3×3 권한 행렬 사이를 변환 — 실시간 삼중 동기화.
원격 URL은 가져오지 않습니다. JSON을 직접 붙여넣으세요.
| 읽기 (4) | 쓰기 (2) | 실행 (1) | 자릿수 | |
|---|---|---|---|---|
| 소유자 | | | | 0 |
| 그룹 | | | | 0 |
| 기타 | | | | 0 |
$ chmod 0000 file a= 이 페이지에서
chmod 계산기란?#
chmod는 파일이나 디렉터리에 읽기, 쓰기, 실행 권한을 설정하는 Unix 명령입니다. 권한 모델은 세 그룹 — 소유자, 그룹, 기타 — 이 각각 세 개의 켜기/끄기 비트를 가집니다. 읽기(4), 쓰기(2), 실행(1), 합쳐서 0~7 사이의 한 자리 숫자가 됩니다. 세 자리를 쌓으면 명령줄에서 입력하는 8진수 모드가 됩니다. 755는 “소유자 읽기+쓰기+실행(7), 그룹 읽기+실행(5), 기타 읽기+실행(5)“을 뜻합니다. 거기에 setuid, setgid, sticky 비트를 위한 선택적 네 번째 특수 접두 자리가 있습니다.
여기서 계산기가 진짜 유용한 이유는 권한 행렬(파일 매니저에서 표시하는 체크박스), 8진수 숫자(755), 기호 문자열(ls -l이 출력하는 rwxr-xr-x) 사이의 삼중 동등성 때문입니다. 대부분의 사람은 이 표현 중 하나를 잘 배우고 나머지 둘에서 비틀거립니다. 이 페이지는 셋을 동기화로 유지합니다. 어느 하나를 바꾸면 나머지 둘이 즉시 갱신되고, 일치하는 chmod 명령줄이 조립됩니다.
이것이 중요한 이유는 잘못된 권한 비트가 배포를 망가뜨리는 가장 흔한 방법 중 하나이기 때문입니다. 웹 서버가 읽을 수 없는 디렉터리, 너무 열려 있어 SSH가 거절하는 개인 키, x 비트를 잃은 실행 파일. 755를 읽고 “전 세계 읽기 가능, 그룹과 기타는 쓸 수는 없어도 통과는 할 수 있다”는 뜻임을 아는 것은 이 도구가 라이브로 번역을 보여 주어 기르는 기술입니다.
사용 방법#
- 이미 가진 표현에서 작업합니다.
- 권한 행렬 의 체크박스를 표시합니다(3행: 소유자/그룹/기타, 3열: 읽기/쓰기/실행). 각 행 오른쪽의 자릿수 열이 표시함에 따라 그 그룹의 0–7 값을 보여 줍니다.
- 또는 8진수 값을 입력합니다(1~4자리,
0o접두 허용, 예:755,0644,0o600). - 또는 기호 값을 입력합니다(
rwxr-xr-x, 쉼표 형태rwx,r-x,r-x, 또는u=rw,go=r같은 chmod 절).
- 특수 비트가 필요하면 특수 비트(접두어) 필드셋에서 setuid, setgid, 또는 sticky 에 표시합니다. 이들은 기호 형태에서 소유자의 실행 슬롯을 차지합니다. setuid/setgid는
s/S, sticky는t/T. - 결과 카드 를 읽습니다.
- 조립된 명령줄,
$ chmod <8진수> 파일. 복사 준비 완료. - 기호 형태, 예:
u=rwx,go=rx. - 그룹별 분해. 각 대상의 자릿수와 읽기/쓰기/실행 부여를 보여 줌.
- 조립된 명령줄,
- 복사 로 명령줄을 가져옵니다.
- 상태 줄이 파싱을 확인하거나 8진수 또는 기호 입력이 유효하지 않았는지 보고합니다.
주요 기능#
- 삼중 라이브 동기화. 행렬, 8진수, 기호가 서로를 갱신하여 아는 것을 입력하고 필요한 것을 읽을 수 있습니다.
- 특수 비트 정확 처리.
setuid,setgid, sticky 비트가 무손실로 처리됩니다.ls가 쓰는 소문자/대문자 실행-슬롯 표기(svsS,tvsT) 포함. - 정규 4자리 8진수. 출력은 항상 4자리입니다(
0755,4755,0000).chmod와stat가 모드를 표시하는 방식과 일치. 특수 비트가 설정되어 있을 때 모호한 3자리 형태는 결코 아닙니다. - 절 형태 기호. 셸이 받는 절대 할당 형태(
u=rw,go=rx)를 내보내며, 간결함을 위해 인접한 같은 그룹을 병합하고 특수 비트를u+s/g+s/+t로 덧붙입니다. - 관대한 입력 파싱.
755,0644,0o600, 9자 사진, 쉼표 구분 변형, 그리고 chmod 절(u=rwx,go=rx,u+rwx,go-w)을 받습니다.
사용 예#
배포된 웹 디렉터리의 가장 흔한 모드입니다. 8진수 필드에 755를 입력합니다. 행렬은 소유자 읽기+쓰기+실행, 그룹 읽기+실행, 기타 읽기+실행에 표시되고, 기호 필드는 rwxr-xr-x를 보여 주며, 결과 카드는 다음을 읽습니다.
$ chmod 755 file
Symbolic: u=rwx,go=rx
분해는 소유자 7(읽기, 쓰기, 실행), 그룹 5(읽기, 실행), 기타 5(읽기, 실행)를 나열합니다. 이것이 디렉터리와 실행 스크립트의 표준 모드입니다. 소유자는 모든 것을 할 수 있고, 다른 모든 사람은 읽고 통과할 수 있지만 수정할 수는 없습니다.
이제 644 — 일반 서비스 파일의 안전한 모드 — 와 비교합니다. 기호는 rw-r--r--가 되고 명령은 $ chmod 644 file입니다. 소유자는 읽고 쓸 수 있고, 그룹과 기타는 읽기만 할 수 있으며, 결정적으로 아무도 실행 권한이 없습니다(그래서 다운로드한 파일이 우연히 실행되지 않습니다). 개인 SSH 키의 경우 600(rw-------)을 입력할 것인데, ssh가 받아들이는 유일한 모드입니다.
특수 비트 예: 소유자의 권한으로 실행되어야 하는 바이너리. 4755를 입력하면 기호 슬롯은 rwsr-xr-x가 됩니다. 소유자의 실행 위치에서 s가 setuid를 표시합니다. 명령줄은 $ chmod 4755 file을 읽고, 선행 4는 3자리 형태가 표현할 수 없는 특수 접두 자리(setuid = 4)입니다. 이것이 바로 이 도구가 항상 4자리를 내보내는 정확한 이유입니다.
FAQ#
755와 0755의 차이는?#
명령줄에서는 동등합니다. chmod 755와 chmod 0755는 같은 모드를 만듭니다. 선행 0은 단순히 “특수 비트 없음”을 뜻하기 때문입니다. 이 도구는 항상 4자리(0755)를 표시하여 특수 비트 위치가 보이고 stat와 ls가 모드를 보고하는 방식과 일치하게 합니다. 명령줄을 복사할 때 사람들이 타이핑하는 관행적 형태인 $ chmod 755 file이 쓰입니다.
기호 출력에서 s, S, t, T는 무슨 뜻인가요?#
실행 슬롯을 차지하는 특수 비트입니다. 소문자 s(소유자 또는 그룹 위치)는 setuid/setgid이고 실행이 켜져 있음을 뜻합니다. 대문자 S는 비트는 설정되었지만 실행은 꺼져 있음을 뜻합니다. 소문자 t(기타 위치)는 sticky이고 실행 켜짐, 대문자 T는 sticky 설정, 실행 꺼짐입니다. 이 대문자-실행-없음 관행이 ls가 추가 열 없이 두 상태를 구별하는 방식입니다.
실제로 chmod를 실행할 때 8진수와 기호 중 어느 쪽을 써야 하나요?#
둘 다 동작하지만 다르게 행동합니다. 8진수(chmod 755 file)는 모드를 절대적으로 설정합니다. 모든 비트가 입력한 그대로 설정됩니다. 기호(chmod u+x file)는 현재 모드를 편집합니다. 언급한 비트만 바꾸고 나머지는 그대로 둡니다. 알려진 최종 상태를 원할 때(배포 스크립트, Dockerfile) 8진수를 쓰고, 다른 것을 건드리지 않고 하나의 권한을 움직이고 싶을 때 기호를 쓰세요.
왜 SSH가 “bad permissions” 오류로 개인 키를 거절하나요?#
ssh가 개인 키는 모드 0600(소유자 읽기/쓰기 전용)이어야 하고 더 열린 것은 안전하지 않아 거절하기 때문입니다. 키가 0644이거나 그룹/기타 쓰기가 있으면 ssh는 변조 가능으로 취급해 사용을 거절합니다. $ chmod 600 id_ed25519로 설정하면 오류가 사라집니다. 명령을 실행하기 전에 여기서 정확한 모드를 검증할 수 있습니다.