공든탑앱 열기

umask

리눅스마스터 2급 · 파일 시스템 관련 명령어 · 약 10분

쉽게 말하면

새 파일을 만들 때 기본으로 막아 둘 권한을 정하는 값이에요. 리눅스는 새 파일을 '모두 허용'에 가깝게 만든 뒤 umask만큼 빼서 내보내요. 보통 다른 사람이 고치지 못하게 막아 둬요.

시험용 정의

umask는 새 파일·디렉터리를 만들 때 기본 권한에서 제거할 권한을 지정하는 값이다. 파일은 666, 디렉터리는 777에서 umask 비트를 뺀다(정확히는 umask에 켜진 비트를 끈다).

비유로 이해하기

새 집에 기본으로 달려 나오는 자물쇠 설정이다. umask는 "기본 설정에서 이 문들은 잠가서 출고해 주세요"라는 주문서다.

자세히

그림으로 보기: umask 022로 새 파일 권한 정하기

파일 기본값
6 rw-
소유자
6 rw-
그룹
6 rw-
기타
umask 022 (끌 권한)
0 ---
소유자
2 -w-
그룹
2 -w-
기타
새 파일
6 rw-
소유자
4 r--
그룹
4 r--
기타
umask에 있는 권한을 끈다. 디렉터리는 777에서 시작해 755가 된다

계산 표

umask새 파일 (666 기준)새 디렉터리 (777 기준)
022644 rw-r--r--755 rwxr-xr-x
002664 rw-rw-r--775 rwxrwxr-x
027640 rw-r-----750 rwxr-x---
077600 rw-------700 rwx------
033644 (파일엔 x가 없으니 3과 2가 같은 결과)744 rwxr--r--

정확한 계산은 빼기가 아니라 비트 끄기

umask 033을 파일에 적용하면 666 − 033 = 633이 아니라 644다. umask에 켜진 비트를 끄는 연산(기본값 AND NOT umask)이라, 원래 없던 x를 "빼도" 다른 칸이 변하지 않는다. 시험 대부분은 단순 빼기로도 맞지만 이 경우는 조심.

설정 위치

시스템 전체: /etc/profile, /etc/bashrc, /etc/login.defs(UMASK 항목). 사용자별: ~/.bashrc, ~/.bash_profile. 보통 root는 022, 일반 사용자는 배포판에 따라 002 또는 022.

시험에 이렇게 나와요

확인 문제

Q1. umask가 022일 때 새로 만든 일반 파일의 권한은?

  1. 777
  2. 022
  3. 755 (rwxr-xr-x)
  4. 644 (rw-r--r--)
정답 보기

4번 644 (rw-r--r--)

파일의 기본 최대 권한은 666(파일은 처음부터 실행 권한을 주지 않는다), 디렉터리는 777이다. umask는 여기서 뺄 권한이다. 666 − 022 → 644, 디렉터리는 777 − 022 → 755.

Q2. umask가 027일 때 새로 만든 디렉터리의 권한은?

  1. 640
  2. 700
  3. 750
  4. 755
정답 보기

3번 750

750이다. 디렉터리는 777에서 umask 027의 권한을 끄면 rwxr-x---(750)다. 파일은 666에서 시작해 640이 된다.

Q3. 새 파일이 600으로 만들어지게 하는 umask 값은?

  1. 022
  2. 066
  3. 077
  4. 600
정답 보기

3번 077

077 (066도 파일은 600이 되지만 디렉터리가 711이 된다. 둘 다 700·600으로 맞추는 표준 값은 077).

Q4. umask -S의 출력이 u=rwx,g=rx,o=일 때 umask 값은?

  1. 022
  2. 027
  3. 057
  4. 750
정답 보기

2번 027

허용 u=7 g=5 o=0 → 뺄 값 0 2 7 = 027.

Q5. 사용자 kim이 touch memo로 만든 파일이 -rw-rw-r--였다. kim의 umask 값은?

  1. 0000
  2. 0002
  3. 0022
  4. 0664
정답 보기

2번 0002

파일 기본 666 − 664 = 002 → 0002.

Q6. umask가 0022로 표시될 때 맨 앞 0의 의미는?

  1. 그룹 권한
  2. 특수 권한 자리(보통 0)
  3. 오류 표시
  4. 소유자 권한
정답 보기

2번 특수 권한 자리(보통 0)

네 자리 중 첫 자리는 특수 권한 자리다. 계산은 뒤 세 자리 022로.

헷갈리기 쉬운 O·X

umask 022일 때 새 파일의 권한은 755다.

정답 보기

X 파일은 666 기준이라 644. 755는 디렉터리.

umask 명령으로 바꾼 값은 로그아웃 후에도 유지된다.

정답 보기

X 현재 셸에만. 영구는 설정 파일에.

umask -S는 제거될 권한을 기호로 보여 준다.

정답 보기

X 허용되는(남는) 권한을 보여 준다.

함께 보면 좋은 개념