| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- bash
- environment
- 파일시스템
- linuxcommand
- coreutils
- linux
- 유닉스
- Solaris
- PackageManagement
- UnixCommand
- 시스템관리
- 유닉스명령어
- cups
- 자바스크립트
- 리눅스
- js
- 터미널
- 쉘스크립트
- JavaScript
- 명령어
- 사용자관리
- UNIX
- php
- Unix명령어
- shell
- terminal
- 리눅스명령어
- 정규표현식
- tcsh
- sysadmin
Archives
- Today
- Total
ioerror
umask 사용법 및 옵션 - 새 파일과 디렉터리의 기본 접근 권한(마스크) 설정 및 확인 본문
반응형

umask - User File-Creation Mode Mask
파일이나 디렉터리를 생성할 때 적용할 기본 권한 마스크를 설정하거나 확인하는 명령어이다. 시스템의 기본 권한(파일 666, 디렉터리 777)에서 umask 값을 차감(또는 비트 반전 후 AND 연산)하여 최종 생성 권한을 결정한다. 잘못 설정할 경우 생성되는 파일이 외부인에게 무단 수정되거나, 필요한 권한이 차단될 수 있으므로 보안 관리가 필요한 환경에서 유의해야 한다.
1. umask 용도
- 보안 정책에 맞춰 새로 생성되는 파일/디렉터리의 접근 권한 제한
- 웹 서버, 공유 디렉터리 등에서 공용 파일 작성 시 보안 레벨 유지
주요 사용 예시
- 스크립트 실행 시작 부분에서 비공개 작업 파일 작성을 위해 보안 권한 적용 (umask 077)
- 웹 서버 프로세스 실행 시 소유자/그룹 외 읽기 제한 설정
2. umask 서식
Bash
umask [-p] [-S] [mode]
3. umask 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -S | 마스크 값을 8진수가 아닌 문자로 출력/설정 | bash zsh ksh |
| -p | 재사용 가능한 형태(umask 8진수)로 표준 출력 | bash zsh |
기본 및 문자 형태 확인 예시
Bash
# 현재 설정된 umask 값 확인 (8진수)
umask
# 0022
# 기호 형식으로 확인
umask -S
# u=rwx,g=rx,o=rx
# 재사용 가능한 형태로 확인
umask -p
# umask 0022
새 파일 및 디렉터리 권한 적용 예시
Bash
# 외부 사용자 및 그룹 권한을 전면 차단하도록 umask 변경
umask 077
# 변경 확인
umask -S
# u=rwx,g=,o=
# 테스트 디렉터리 및 파일 생성
mkdir test_dir && touch test_file.txt
# 생성된 권한 확인
ls -ld test_dir test_file.txt
# drwx------ 2 user group 4096 Jul 31 12:00 test_dir
# -rw------- 1 user group 0 Jul 31 12:00 test_file.txt
- test_dir: 기본 디렉터리 권한 777에서 077을 제한하여 소유자 전용 권한 700(rwx------) 설정
- test_file.txt: 기본 파일 권한 666에서 077을 제한하여 소유자 전용 권한 600(rw-------) 설정
4. umask 특이사항(유의사항)
- 계산 방식 주의: umask는 Simple Subtraction(단순 뺄셈)이 아니라 비트 연산(권한 & ~umask)으로 처리된다. 파일 기본 권한 666에 umask 022를 적용하면 644가 되지만, umask 011을 적용해도 파일에 실행 권한(x)이 생기지 않고 655가 아닌 644가 된다.
- 실행 권한 제한: 보안상 기본 파일 생성 시 실행 권한(x)은 umask 값과 관계없이 부여되지 않는다.
- 영구 적용 방법: 쉘 명령으로 실행한 umask는 현재 세션에서만 유지된다. 시스템 전체에 영구 적용하려면 /etc/bashrc, /etc/profile에 작성하고, 사용자 개인별 적용은 ~/.bashrc 또는 ~/.bash_profile에 등록해야 한다.
관련 명령어들
- chmod: 이미 생성된 파일이나 디렉터리의 접근 권한 변경
- chown: 파일이나 디렉터리의 소유자와 소유 그룹 변경
- chgrp: 파일이나 디렉터리의 소유 그룹 변경
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| umountall 사용법 및 옵션 - 마운트된 모든 파일 시스템의 일괄 해제 (0) | 2026.07.31 |
|---|---|
| umount 사용법 및 옵션 - 마운트된 파일 시스템의 해제 (0) | 2026.07.31 |
| type 사용법 및 옵션 - 명령어의 종류 및 해석 방식 확인 (0) | 2026.07.31 |
| tty 사용법 및 옵션 - 현재 터미널의 장치 파일명 출력 (0) | 2026.07.31 |
| traceroute 사용법 및 옵션 - 네트워크 패킷의 경로 및 지연 시간 추적 (0) | 2026.07.31 |
Comments