도구스개발

umask 계산기

umask 값을 넣으면 새로 만든 파일·디렉터리의 기본 권한을 계산합니다. 반대로 원하는 기본 권한에서 필요한 umask도 역산합니다.

umask

022

파일 644 · 디렉터리 755

umask022
새 파일 기본 권한644 (rw-r--r--)
새 디렉터리 기본 권한755 (rwxr-xr-x)
파일 기본 권한 = 0666 & ~umask, 디렉터리 기본 권한 = 0777 & ~umask입니다. 파일은 처음부터 실행 권한이 없어(보안을 위한 설계) umask가 아무리 관대해도 실행 권한이 붙지 않습니다.

사용 방법

  1. 1지금 쓰는(또는 설정할) umask 값을 입력합니다.
  2. 2새로 만드는 파일·디렉터리에 적용될 기본 권한을 확인합니다.
  3. 3반대로 원하는 디렉터리 기본 권한을 알고 있다면, 그 값에서 필요한 umask를 역산할 수도 있습니다.

자주 묻는 질문

새 파일은 0666(rw-rw-rw-), 새 디렉터리는 0777(rwxrwxrwx)에서 umask에 켜진 비트만큼 권한을 뺍니다. 즉 파일 기본 권한 = 0666 & ~umask, 디렉터리 기본 권한 = 0777 & ~umask입니다. umask 022는 그룹·기타의 쓰기 비트(각 자리의 2)를 지워 파일은 644, 디렉터리는 755가 됩니다.

파일은 만들어질 때 실행 권한을 자동으로 주지 않기 때문입니다(악성 스크립트가 곧바로 실행 가능한 상태로 만들어지는 것을 막기 위한 설계). 그래서 umask가 아무리 관대해도(umask 000이어도) 새로 만든 일반 파일은 최대 666(실행 권한 없음)까지만 나오고, 실행 권한이 필요하면 별도로 chmod +x를 해야 합니다.

됩니다. 원하는 디렉터리 기본 권한을 알고 있다면 umask = ~원하는 권한 & 0777로 역산합니다(비트를 반대로 뒤집는 보수 연산). 디렉터리는 0~7 전 범위를 다 쓸 수 있어 이 역산의 기준으로 삼았습니다 — 파일은 애초에 실행 비트가 없어 실행 권한이 있는 파일을 목표로 넣으면 애초에 불가능한 조합이 됩니다.

대부분의 리눅스 배포판은 022(파일 644·디렉터리 755)를 기본으로 씁니다. 여러 사용자가 그룹으로 같이 작업하는 공용 서버는 002(그룹에도 쓰기 권한을 남김)를, 개인 서버나 민감한 디렉터리는 077(소유자만 접근)을 쓰기도 합니다.

알아두면 좋은 점

  • 공식 그대로의 결정적 비트 연산입니다(POSIX 표준 동작). 셸에서 직접 `umask 022; touch a; mkdir b`로 대조 검증할 수 있고, 이 계산기도 그렇게 확인했습니다.
  • setuid·setgid·sticky 같은 특수 비트는 umask의 영향을 받지 않습니다. 이미 정해진 권한을 8진수↔기호로 바꾸거나 특수 비트를 다루려면 dev/chmod-calc를 쓰세요.
  • 현재 셸의 umask 값은 터미널에서 인자 없이 `umask`를 입력하면 확인할 수 있습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 4일 · 결과는 참고용 추정치입니다.