chmod 계산기
권한 값과 chmod 명령어를 계산합니다.
소유자, 그룹, 기타 사용자별 읽기, 쓰기, 실행 권한을 체크해 8진수와 기호 표기 값을 계산합니다.
사용 순서
- 표에서 소유자, 그룹, 기타 사용자별로 읽기, 쓰기, 실행 체크박스를 선택합니다.
- 가운데 큰 숫자로 표시되는 8진수 값을 확인합니다.
- 그 아래에 표시되는 rwxr-xr-- 형식의 기호 표기를 확인합니다.
- 하단 명령 칸의 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 명령을 써야 하며, 이 도구의 결과는 권한 숫자에만 반영됩니다.