it-box

chmod 계산기

권한 값과 chmod 명령어를 계산합니다.

chmod 계산기 도구 열기

소유자, 그룹, 기타 사용자별 읽기, 쓰기, 실행 권한을 체크해 8진수와 기호 표기 값을 계산합니다.

사용 순서

  1. 표에서 소유자, 그룹, 기타 사용자별로 읽기, 쓰기, 실행 체크박스를 선택합니다.
  2. 가운데 큰 숫자로 표시되는 8진수 값을 확인합니다.
  3. 그 아래에 표시되는 rwxr-xr-- 형식의 기호 표기를 확인합니다.
  4. 하단 명령 칸의 chmod 값을 복사한 뒤 path 부분을 실제 경로로 바꿉니다.

예시

소유자는 읽기, 쓰기, 실행, 그룹은 읽기와 실행, 기타 사용자는 읽기만 선택하면 754와 rwxr-xr--가 표시됩니다.

한계

읽기, 쓰기, 실행 세 비트만 다룹니다. setuid, setgid, sticky 비트는 설정할 수 없습니다. 기호 표기는 출력 전용이며 chmod u+x 같은 명령 문자열은 만들지 않습니다.

보안 주의

777이나 666처럼 모든 사용자에게 쓰기 권한을 주는 값은 공유 서버나 웹 디렉터리에서 다른 사용자가 파일을 바꾸는 경로가 될 수 있습니다. 웹 서버가 쓰는 파일에는 필요한 최소 권한만 주고, 실행 비트가 정말 필요한지 확인하세요.

배경 지식

유닉스 파일 권한은 소유자, 그룹, 기타 사용자 세 집단에 대해 읽기(r), 쓰기(w), 실행(x) 비트를 가집니다. 8진수로 쓰면 r은 4, w는 2, x는 1이며 각 집단의 세 값을 더해 한 자리를 만듭니다. 예를 들어 rwx는 7, r-x는 5, r--는 4이므로 754가 됩니다.

디렉터리에서 x 권한은 안으로 들어갈 수 있다는 뜻이고, 읽기 권한만 있으면 목록은 볼 수 있어도 내부 파일에 접근하지 못합니다. 그래서 디렉터리는 보통 755처럼 실행 비트를 함께 줍니다. 같은 숫자라도 파일과 디렉터리에서 의미가 달라지는 이유입니다. 그래서 디렉터리에 644를 주면 목록은 보여도 안으로 들어갈 수 없는 상태가 됩니다.

권한은 최소 권한 원칙에 따라 필요한 집단에만 주는 것이 기본입니다. 배포 스크립트에서 chmod -R 777을 습관처럼 쓰면 보안 문제로 이어지기 쉬우므로, 파일 종류별로 나눠 지정하는 편이 안전합니다. 예를 들어 설정 파일은 600, 실행 스크립트는 700, 정적 파일은 644처럼 나누면 대부분의 상황을 덮을 수 있습니다.

자주 묻는 질문

600과 644는 어떻게 다른가요?

600은 소유자만 읽고 쓸 수 있고, 644는 소유자가 읽기와 쓰기를 하고 그룹과 기타 사용자는 읽기만 할 수 있습니다. SSH 개인 키처럼 비밀 정보는 600, 공개해도 되는 파일은 644를 쓰는 경우가 많습니다.

chmod 명령에 기호 표기를 그대로 쓸 수 있나요?

쓸 수 없습니다. rwxr-xr--는 chmod의 인자로 바로 쓰이지 않으므로 754처럼 8진수를 넣거나, chmod u=rwx,go=rx처럼 기호 형식 명령을 따로 써야 합니다.

파일의 소유자를 바꾸려면 이 도구를 써도 되나요?

소유자 행의 체크박스는 권한 비트만 바꾸므로 파일의 소유자 자체는 바뀌지 않습니다. 소유자를 바꾸려면 chown 명령을 써야 하며, 이 도구의 결과는 권한 숫자에만 반영됩니다.