학습 가이드
#20주 실습 커리큘럼

umask와 sticky bit: 기본 권한을 정책으로

_리눅스 실습 커리큘럼 10/40 · 권한과 사용자 (5주차)_

앞 편에서 파일마다 chmod 로 권한을 맞췄습니다. 그런데 매번 chmod 를 치는 사람은 결국 하나를 빠뜨립니다. 만들어지는 순간의 기본 권한을 정책으로 정하는 것이 umask 이고, 공유 디렉터리의 삭제 보호가 sticky bit 입니다.

umask와 sticky bit, 왜 필요한가

  • 운영 계정이 만드는 파일을 남이 읽지 못하게 하려면 umask 027 한 줄로 끝납니다.
  • /tmp 처럼 모두가 쓰는 디렉터리에서 남의 파일을 지우지 못하게 하는 장치가 sticky bit 입니다.
  • umask 계산은 리눅스마스터 2급 필기·실기 단골, sticky 는 LPIC-1 특수 권한 단원입니다.

이번 편에서 익힐 것

  1. umask 계산 — 파일 666, 디렉터리 777 에서 빼기
  2. 로그인 셸에 영구 적용 — ~/.bashrc
  3. 실제 파일 권한으로 확인 — su - 사용자, stat
  4. sticky bit — chmod 1777, chmod +t

umask와 sticky bit 핵심 명령어

umask                                  # 현재 값(예: 0022)
echo 'umask 027' >> /home/alice/.bashrc
su - alice -c 'umask'                  # 0027 — 로그인 셸(-)이어야 .bashrc 가 읽힘
su - alice -c 'mkdir ~/docs && touch ~/docs/memo.txt'
stat -c '%a %n' /home/alice/docs /home/alice/docs/memo.txt   # 750, 640

chmod 1777 /srv/upload                 # sticky: 맨 앞 1
stat -c %A /srv/upload                 # drwxrwxrwt ← 끝의 t

| umask | 새 파일 | 새 디렉터리 |
|---|---|---|
| 022 | 644 | 755 |
| 027 | 640 | 750 |
| 077 | 600 | 700 |

  • 권한 문자열 끝이 t 면 sticky + 실행, T 면 sticky 만(기타 실행 없음)입니다.

umask와 sticky bit 자주 하는 실수

  • su alice(하이픈 없이) — 로그인 셸이 아니라 .bashrc 가 안 읽혀 umask 가 반영되지 않은 듯 보입니다.
  • root 로 만들고 chmod 로 숫자만 맞춤 — 통과는 되지만 umask 를 확인하는 문제의 목적이 아닙니다.
  • chmod 777 만 하고 sticky 를 빼먹음 — 1777 또는 +t.

umask와 sticky bit 실습 문제

  • umask 로 기본 권한 정책 적용하기
  • 공유 업로드 디렉터리에 sticky bit 설정하기

다음 편

다음 편은 SUID·SGID·world-writable 파일 감사 입니다. 화·금요일에 이어집니다.

<!-- publish_key:linux-path-20w-p10-post -->

댓글 0

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.