chmod 계산기

등급 읽기(r) 쓰기(w) 실행(x)
소유자
그룹
기타
다음

Unix 파일 권한은 사용자, 그룹, 기타 각각에 대해 읽기, 쓰기, 실행 세 비트씩, 총 세 묶음으로 구성되며 이를 깔끔하게 세 자리 8진수로 압축할 수 있습니다. chmod 755 script.shrwxr-xr-x입니다. 소유자는 모든 권한을 갖고, 그룹과 기타 사용자는 읽기와 실행 권한을 갖습니다. 이 계산기는 각 체크박스를 토글하면 8진수 값이 즉시 바뀌는 것을 보여주고, 8진수 숫자를 붙여넣으면 rwx 구성을 풀어 보여줍니다, 복사할 수 있는 정확한 chmod 명령까지 함께 제공합니다.

chmod 권한 작동 방식

  1. 1

    9개 권한 비트 토글

    세 그룹(사용자, 그룹, 기타) × 세 권한(읽기, 쓰기, 실행) = 9개 체크박스입니다.

  2. 2

    각 그룹이 하나의 8진수 자릿수가 됨

    읽기 = 4, 쓰기 = 2, 실행 = 1입니다. 활성화하려는 비트를 더하면 됩니다.

  3. 3

    결과 8진수와 기호 표기 확인

    예: 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    chmod 명령 복사

    도구는 현재 권한에 맞는 chmod 명령을 복사할 수 있게 보여 줍니다. 예: chmod 755 파일명, chmod u+x 파일명, chmod -R 755 디렉터리.

권한 비트 값

비트 파일에서의 의미 디렉터리에서의 의미
읽기 4 내용을 볼 수 있음 항목 목록을 볼 수 있음
쓰기 2 수정할 수 있음 항목 생성 / 삭제 / 이름 변경 가능
실행 1 프로그램으로 실행할 수 있음 순회 가능(cd로 들어가거나 내부 접근)

자주 쓰는 chmod 값

8진수 기호 표기 일반적인 용도
777 rwxrwxrwx 누구나 쓰기 가능, 위험하며 거의 적절하지 않음
755 rwxr-xr-x 스크립트, 바이너리, 디렉터리
750 rwxr-x--- 나와 내 그룹 전용 스크립트
700 rwx------ 나만 쓰는 스크립트(SSH, ~/.ssh)
644 rw-r--r-- 공개 문서, 이미지, HTML
640 rw-r----- 그룹이 읽을 수 있는 설정 파일
600 rw------- 비공개 설정, SSH 개인 키, ~/.netrc
444 r--r--r-- 읽기 전용으로 게시된 파일
400 r-------- 비공개 읽기 전용(거의 적절하지 않음; 600 사용)

특수 권한(드물지만 중요)

  • setuid (4xxx): 누가 실행하든 파일 소유자의 권한으로 실행합니다. /usr/bin/passwd가 이를 사용합니다.
  • setgid (2xxx): 파일에서는 그룹 권한으로 실행합니다. 디렉터리에서는 새 파일이 디렉터리의 그룹을 상속합니다.
  • sticky bit (1xxx): 디렉터리에서 파일 소유자만 삭제/이름 변경을 할 수 있게 합니다. /tmp가 이를 사용합니다.

네 자리 8진수에는 이러한 비트가 포함됩니다. chmod 4755 setuid-binary는 755와 함께 setuid를 켭니다.

기호식 chmod

많은 관리자는 점진적 변경에 symbolic 형식을 선호합니다:

  • chmod u+x script, 소유자에게만 실행 권한을 추가합니다.
  • chmod go-w file, 그룹과 기타에서 쓰기 권한을 제거합니다.
  • chmod a+r file, 모두(사용자, 그룹, 기타)에게 읽기 권한을 부여합니다.
  • chmod u=rw,go=r file, 정확히 이 비트들로 설정합니다.
  • chmod -R 755 directory, 재귀 적용.

흔한 실수

  • 업로드 폴더에 777 적용: “권한 문제를 고치는” 것처럼 보이지만 실제로는 서버를 공격자에게 열어 줍니다. 더 좁은 조합을 사용하세요(예: 올바른 그룹 소유권과 함께 755).
  • 디렉터리에 chmod -R 644 적용: 디렉터리의 실행 권한이 제거되어 cd로 들어갈 수 없습니다. 디렉터리에는 755, 일반 파일에는 644를 사용하세요.
  • 0600 vs 600: 앞의 0은 C와 셸에서 8진수를 뜻합니다. 대부분의 chmod 구현은 둘 다 허용합니다.
  • Umask: 새 파일은 666에서 umask를 뺀 권한을 상속합니다. 기본 umask 022는 파일 644, 디렉터리 755를 만듭니다.

자주 묻는 질문

보통 소유자는 수정할 수 있고, 다른 사람들은 목록을 보고 순회할 수 있기를 원합니다. 755 = 소유자에게 rwx, 그룹과 기타에게 r-x, 바로 그 조합입니다.

거의 절대 쓰지 않습니다. 777은 시스템의 누구나 파일을 수정할 수 있게 합니다. 다중 사용자 시스템에서는 보안 취약점이고, 단일 사용자 시스템에서는 불필요합니다(소유자는 755만으로도 이미 rwx를 가집니다). 웹 앱이 777을 필요로 하는 것처럼 보인다면, 실제 해결책은 올바른 소유권(chown) 또는 그룹 멤버십입니다.

~/.ssh 디렉터리: 700. 개인 키(id_rsa, id_ed25519): 600. 공개 키(.pub): 644. authorized_keys: 600. SSH는 안전 조치로 더 넓은 권한의 키 사용을 거부합니다.

소유자는 chown, 그룹은 chgrp로 바꿉니다, 별도의 명령입니다. chmod는 비트만 바꾸며, 파일을 소유한 사용자/그룹은 바꾸지 않습니다.

관련 도구