umask
쉽게 말하면
새 파일을 만들 때 기본으로 막아 둘 권한을 정하는 값이에요. 리눅스는 새 파일을 '모두 허용'에 가깝게 만든 뒤 umask만큼 빼서 내보내요. 보통 다른 사람이 고치지 못하게 막아 둬요.
시험용 정의
umask는 새 파일·디렉터리를 만들 때 기본 권한에서 제거할 권한을 지정하는 값이다. 파일은 666, 디렉터리는 777에서 umask 비트를 뺀다(정확히는 umask에 켜진 비트를 끈다).
비유로 이해하기
새 집에 기본으로 달려 나오는 자물쇠 설정이다. umask는 "기본 설정에서 이 문들은 잠가서 출고해 주세요"라는 주문서다.
자세히
그림으로 보기: umask 022로 새 파일 권한 정하기
계산 표
| umask | 새 파일 (666 기준) | 새 디렉터리 (777 기준) |
|---|---|---|
| 022 | 644 rw-r--r-- | 755 rwxr-xr-x |
| 002 | 664 rw-rw-r-- | 775 rwxrwxr-x |
| 027 | 640 rw-r----- | 750 rwxr-x--- |
| 077 | 600 rw------- | 700 rwx------ |
| 033 | 644 (파일엔 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.
시험에 이렇게 나와요
- umask
0022일 때 새 파일 권한 → 644(-rw-r--r--). 네 자리로 나오면 첫 0은 특수 권한 자리라 무시하고 뒤 세 자리로 계산 - 새 파일이
664(-rw-rw-r--)로 만들어졌다면 umask는? → 666 − 664 = 0002 - umask 값이 주어지고 새 디렉터리 권한을 묻기도 한다 → 777에서 뺀다
- umask -S 출력(허용 권한)에서 umask 값을 거꾸로 구하기
확인 문제
Q1. umask가 022일 때 새로 만든 일반 파일의 권한은?
- 777
- 022
- 755 (rwxr-xr-x)
- 644 (rw-r--r--)
정답 보기
4번 644 (rw-r--r--)
파일의 기본 최대 권한은 666(파일은 처음부터 실행 권한을 주지 않는다), 디렉터리는 777이다. umask는 여기서 뺄 권한이다. 666 − 022 → 644, 디렉터리는 777 − 022 → 755.
Q2. umask가 027일 때 새로 만든 디렉터리의 권한은?
- 640
- 700
- 750
- 755
정답 보기
3번 750
750이다. 디렉터리는 777에서 umask 027의 권한을 끄면 rwxr-x---(750)다. 파일은 666에서 시작해 640이 된다.
Q3. 새 파일이 600으로 만들어지게 하는 umask 값은?
- 022
- 066
- 077
- 600
정답 보기
3번 077
077 (066도 파일은 600이 되지만 디렉터리가 711이 된다. 둘 다 700·600으로 맞추는 표준 값은 077).
Q4. umask -S의 출력이 u=rwx,g=rx,o=일 때 umask 값은?
- 022
- 027
- 057
- 750
정답 보기
2번 027
허용 u=7 g=5 o=0 → 뺄 값 0 2 7 = 027.
Q5. 사용자 kim이 touch memo로 만든 파일이 -rw-rw-r--였다. kim의 umask 값은?
- 0000
- 0002
- 0022
- 0664
정답 보기
2번 0002
파일 기본 666 − 664 = 002 → 0002.
Q6. umask가 0022로 표시될 때 맨 앞 0의 의미는?
- 그룹 권한
- 특수 권한 자리(보통 0)
- 오류 표시
- 소유자 권한
정답 보기
2번 특수 권한 자리(보통 0)
네 자리 중 첫 자리는 특수 권한 자리다. 계산은 뒤 세 자리 022로.
헷갈리기 쉬운 O·X
umask 022일 때 새 파일의 권한은 755다.
정답 보기
X 파일은 666 기준이라 644. 755는 디렉터리.
umask 명령으로 바꾼 값은 로그아웃 후에도 유지된다.
정답 보기
X 현재 셸에만. 영구는 설정 파일에.
umask -S는 제거될 권한을 기호로 보여 준다.
정답 보기
X 허용되는(남는) 권한을 보여 준다.