김 컴퓨터


umask (User File-Creation Mode Mask)

umask는 파일이나 디렉터리가 생성될 때 부여되는 기본 권한을 제어하는 명령어입니다. 이름의 'Mask'라는 단어처럼, 전체 권한에서 특정 권한을 "가리고(빼고)" 남은 권한만 부여하는 일종의 거름망 역할을 합니다.

[Image of a filter representing umask, showing original bits being blocked to result in new permissions]


1. 기본 원리 (중요!)

리눅스에서 시스템이 기본적으로 부여하려고 하는 최대 권한은 다음과 같습니다. * 파일: 666 (rw-rw-rw-) → 실행 권한은 기본으로 주지 않음 * 디렉터리: 777 (rwxrwxrwx)

여기서 umask 값을 뺀(Masking) 결과가 실제 생성되는 파일의 권한이 됩니다.


2. 주요 활용법

기능 명령어 설명
현재 설정 확인 umask 현재 설정된 umask 값을 숫자로 보여줍니다. (예: 0022)
문자로 확인 umask -S u=rwx,g=rx,o=rx 처럼 사람이 읽기 쉬운 문자로 보여줍니다.
값 변경하기 umask 022 새로운 umask 값을 설정합니다.

3. 실무 활용 예시 (계산법)

① 일반적인 설정: umask 022

② 보안 강화 설정: umask 077 (매우 엄격)


4. [팁] 왜 뺄셈인가요? (비트 연산의 비밀)

사실 컴퓨터 내부에서는 단순한 뺄셈이 아니라 비트 연산(NOT 후 AND)이 일어납니다. 예를 들어 umask가 022라는 것은 "그룹(g)과 타인(o)의 쓰기(w) 비트를 끄겠다"는 신호입니다.