취업 자료실리눅스 파일 권한·umask 손으로 계산하기 — 오답 최다 영역을 실측으로 정복

리눅스 파일 권한·umask 손으로 계산하기 — 오답 최다 영역을 실측으로 정복

2026년 9월 29일 4분 읽기 조회 6
리눅스 파일 권한·umask 손으로 계산하기 — 오답 최다 영역을 실측으로 정복

8진수 권한, umask, setuid·setgid·sticky를 우분투에서 직접 실행한 결과와 함께 손으로 계산합니다. umask 033 뺄셈 함정과 대문자 S·T 규칙까지 정리했습니다.

리눅스마스터 2급 2차에서 권한은 출제 비중이 그리 크지 않습니다. 누구나패스가 2021~2023년 2차 기출 9회분(720문항)을 직접 분류해 집계한 참고값으로는 약 4%입니다. 그런데 이 4%가 오답이 가장 많은 영역이었습니다. 이유는 간단합니다. 권한은 읽어서는 늘지 않고, 손으로 계산해 봐야 늘기 때문입니다. 이 글에서는 8진수 권한, 심볼릭 모드, umask, 특수 권한을 실제 리눅스에서 실행한 결과와 함께 손으로 계산해 봅니다.

📊 권한은 왜 자꾸 틀리는가

틀리는 이유는 대개 세 가지입니다. 첫째, 8진수와 rwx 표기를 오가는 계산이 익숙하지 않습니다. 둘째, umask를 "기본 권한에서 빼는 값"으로 외워서 특정 값에서 오답이 납니다. 셋째, 특수 권한(setuid·setgid·sticky)의 표기 규칙을 대충 넘깁니다. 세 가지를 하나씩 실측으로 확인해 보겠습니다. 아래 결과는 우분투 24.04 환경(WSL)에서 명령을 직접 실행해 얻은 값입니다.

💻 8진수 권한 읽기

권한은 읽기(r) 4, 쓰기(w) 2, 실행(x) 1의 합으로 계산합니다. 소유자, 그룹, 기타 사용자 순서로 세 자리를 씁니다.

rwx계산숫자
rwx4+2+17
r-x4+0+15
r--4+0+04
rw-4+2+06
---00

예를 들어 754는 7(rwx), 5(r-x), 4(r--)이므로 rwxr-xr--입니다. 실제로 chmod 754 a.txt를 실행하고 stat -c '%A %a %n' a.txt로 확인하면 다음과 같이 나옵니다.

-rwxr-xr-- 754 a.txt

심볼릭 모드도 같은 결과로 이어집니다. chmod u=rw,g=r,o= a.txt는 소유자 rw, 그룹 r, 기타 없음이므로 640이고 실측 결과는 다음과 같습니다.

-rw-r----- 640 a.txt

644 파일에 chmod u+x,go-r g.sh를 적용하면 소유자에 실행이 더해져 744가 되고, 그룹과 기타에서 읽기가 빠져 결과는 700입니다. 실측은 -rwx------ 700 g.sh였습니다. 심볼릭 모드는 "지금 권한에서 무엇을 더하고 빼는지"를 순서대로 따라가면 됩니다.

노트북 화면을 손으로 짚으며 결과를 확인하는 모습

⚠️ umask는 '빼기'가 아니라 '가리기'입니다

umask는 새 파일과 디렉터리를 만들 때 제거할 권한 비트를 지정합니다. 파일의 기본값은 666(실행 비트 없음), 디렉터리는 777에서 시작하고, umask에 켜진 비트를 꺼 버립니다. 그래서 단순 뺄셈으로 계산하면 특정 값에서 틀립니다. 아래는 umask별로 파일과 디렉터리를 직접 만들어 본 결과입니다.

umask새 파일 (실측)새 디렉터리 (실측)
022-rw-r--r-- (644)drwxr-xr-x (755)
077-rw------- (600)drwx------ (700)
002-rw-rw-r-- (664)drwxrwxr-x (775)
027-rw-r----- (640)drwxr-x--- (750)
033-rw-r--r-- (644)drwxr--r-- (744)

마지막 줄이 함정입니다. umask 033에서 파일을 뺄셈으로 계산하면 666 − 033 = 633이지만 실제 결과는 644입니다. 666에서 마스크 033의 비트를 끄면, 그룹과 기타의 쓰기(2)와 실행(1) 자리에서 파일에는 원래 실행 비트가 없어 "이미 꺼진 비트"를 또 빼는 셈이 되기 때문입니다. 디렉터리는 777 − 033 = 744로 뺄셈 결과와 같습니다. 그래서 실행 비트가 없는 파일에서는 뺄셈이 틀릴 수 있다는 점을 기억해야 합니다. 이 환경의 기본 umask는 0022이고, umask -S는 u=rwx,g=rx,o=rx로 표시됩니다.

노트북 화면에 표시된 코드와 터미널 실습 환경

🔑 특수 권한, 표기 규칙만 알면 쉽습니다

설정숫자실측 결과
setuid4755-rwsr-xr-x
setgid2755-rwxr-sr-x
sticky bit1777drwxrwxrwt
setuid + 실행 없음4644-rwSr--r--
sticky + 실행 없음1666drw-rw-rwT

맨 앞자리 4·2·1이 각각 setuid, setgid, sticky bit이고, 해당 자리의 x 위치에 소문자 s·s·t로 표시됩니다. 함정은 마지막 두 줄입니다. 그 자리에 실행 권한이 없으면 대문자 S·T로 표시됩니다. 4644에서는 소유자 실행이 없어서 -rwSr--r--가 되고, 여기에 실행 권한을 주는 4744로 바꾸면 -rwsr--r--가 되는 것을 실측으로 확인했습니다. 대문자와 소문자는 "실행 권한 유무"의 차이라는 한 줄만 기억하세요.

🗺️ 손 계산 연습 6문제

터미널을 열기 전에 종이에 먼저 풀어 보고, 정답을 실제 명령으로 확인해 보세요.

  1. rwxr-x--- 를 8진수로 나타내면?
  2. chmod 640 을 적용한 파일의 권한 표기는?
  3. umask 027 일 때 새 디렉터리의 권한은?
  4. chmod 4755 를 적용한 파일의 권한 표기는?
  5. umask 033 일 때 새 파일의 권한은? (뺄셈 함정에 주의)
  6. -rwSr--r-- 의 8진수 표기는?

정답: 1) 750 2) -rw-r----- 3) 750 (drwxr-x---) 4) -rwsr-xr-x 5) 644 6) 4644. 특히 5번과 6번을 틀렸다면 위 두 절을 다시 읽어 보세요. 뺄셈으로 외웠거나 표기 규칙을 대충 넘겼다면 가장 헷갈리기 쉬운 두 가지입니다.

📚 시험 대비 학습법

권한은 2차 「리눅스 운영 및 관리」 과목의 "권한 및 그룹 설정" 범위에 들어 있습니다. 이 영역은 문제 유형이 정해져 있어서 한번 손에 익히면 가장 확실한 점수원이 됩니다. 다음 순서를 추천합니다.

  1. 8진수 표를 보지 않고 7·6·5·4·0의 rwx 표기를 쓸 수 있을 때까지 반복합니다.
  2. umask 022, 077, 002, 027을 각각 파일과 디렉터리로 계산한 뒤 실제로 만들어 확인합니다.
  3. 특수 권한은 숫자 → 표기 → 대문자/소문자 순서로 정리한 표를 만듭니다.
  4. 틀린 문항은 그 자리에서 "무엇을 헷갈렸는지" 한 줄로 오답 노트에 적습니다.

누구나패스의 「리눅스마스터 2급 완전정복」은 권한과 그룹 설정을 이론과 실전문제로 다루고, 본문의 명령 출력은 실제 실행한 결과만 실었습니다. 손으로 계산하고 명령으로 확인하는 이 글의 방식을 그대로 따라갈 수 있습니다.

❓ 자주 묻는 질문 (FAQ)

umask 022는 어떻게 계산하나요?

파일은 666에서, 디렉터리는 777에서 022의 비트를 끕니다. 결과는 파일 644, 디렉터리 755입니다.

새 파일에 실행 권한이 기본으로 붙지 않는 이유는 무엇인가요?

파일의 기본 권한은 666으로 시작하기 때문입니다. 실행이 필요하면 chmod로 직접 실행 권한을 줘야 하고, 디렉터리는 진입에 x가 필요하므로 777에서 시작합니다.

대문자 S와 소문자 s는 무엇이 다른가요?

소문자 s는 특수 권한과 실행 권한이 모두 켜져 있다는 뜻이고, 대문자 S는 특수 권한은 켜져 있지만 실행 권한이 없다는 뜻입니다. sticky bit의 T와 t도 같은 규칙입니다.

권한 문제는 시험에서 몇 문항쯤 나오나요?

누구나패스의 2021~2023년 2차 기출 9회분 자체 집계로는 약 4%였습니다. 공식 발표가 아닌 참고값이며 2024년 이후 경향은 반영되지 않았습니다.

🚀 지금 터미널을 열어 직접 확인해 보세요

이 글의 모든 결과는 여러분의 터미널에서도 똑같이 재현됩니다. 값이 다르게 나오면 그 차이가 곧 공부할 부분입니다. 시험 구조와 학습 계획이 필요하다면 아래에서 이어가세요.

※ 출제 비중은 누구나패스 자체 집계 참고값입니다. 시험 일정·응시료는 시행처(KAIT, ihd.or.kr) 공지를 확인하세요.

댓글

0/1000

불러오는 중...

관련 글