728x90

 

umask는 user file-creation mode mask의 줄임말로, 리눅스 및 유닉스 시스템에서 새로 생성되는 파일이나 디렉터리에 기본으로 적용될 권한을 제한하는데 사용되는 설정입니다. 즉, 새 파일이나 디렉터리를 만들 때 부여될 기본 권한ㄴ에서 제거할 권한을 지정하는 역할을 합니다.

 

기본 개념

  • 리눅스에서 파일과 디렉터리는 기본적으로 특정한 권한을 갖고 생성됩니다.
    • 일반 파일의 기본 권한 : 666(rw-rw-rw-)
    • 디렉터리의 기본 권한 : 777(rwxrwxrwx)

그러나 umask 값에 따라 이 기본 권한에서 일부 권한이 제거됩니다.

 

 

사용예시

umask 022

 

  • 이 설정은 새로 만든 파일/디렉터리에서 다른 사용자(other)와 그룹(group)에 쓰기 권한을 제거합니다.

 

계산 방법:

  • 기본 권한에서 umask값을 빼는 방식으로 최종 권한을 계산합니다.
항목 파일 기본 권한 디렉터리 기본 권한 umask값 최종 파일 권한 최종 디렉터리 권한
예시 666 777 022 644 755

 

  • 666 - 022 = 644
    • 파일권한 : rw-r--r--
  • 777 - 022 = 755
    • 디렉터리 권한 : rwxr-xr-x

 

umask 확인 및 설정

현재 umask 값 확인

umask

출력이 0022  처럼 4자리면 첫자리는 특별한 설정(ex. setuid) 관련이며 일반적으로 무시해도 된다.

 

임시로 umask 설정(현재 세션만)

umask 027

이는 현재 세션에만 적용되며, 터미널을 종료하면 초기화됩니다.

 

영구설정

  • 로그인 시 자동 적용되게 하려면 다음 파일들 중 하나에 설정을 추가
    • ~/.bashrc
    • ~/.profile
    • /etc/profile 또는 /etc/bash.bashrc(시스템 전역)

예시 : 

echo "umask 027" >> ~/.bashrc

 

사용 예제

umask 077
touch myfile
ls -l myfile

 

예상 결과

-rw------- 1 user user 0 May 24 13:00 myfile

설명 : 모든 권한은 사용자에게만 있고, 그룹과 다른 사용자에게는 전혀 없음

 

 

 

상황별 umask 권장값

1. 개인 사용자용 데스크탑/노트북

  • 권장 umask
    • 022
  • 설명
    • 사용자가 생성한 파일은 ㅁ본인에게는 읽기/쓰기 권한이 있고, 다른 사용자에겐 읽기 권한만 있습니다.
  • 이유
    • 협업 필요 없음
    • 보안 위협도 낮음
  • 결과
    • 파일 : rw-r--r--
    • 디렉터리 : rwxr-xr-x

 

2. 여러 사용자가 협업하는 시스템 (예. 개발서버 및 웹서버)

  • 권장 umask
    • 002
  • 설명
    • 같은 그룹에 속한 사용자는 읽기/쓰기 가능하게 허용
  • 전제조건
    • 사용자들이 같은 그룹으로 설정되어 있어야 함
  • 이유
    • 공동 작업 폴더에서 파일을 공유해야 할 때 유용
  • 결과
    • 파일 : rw-rw-r--
    • 디렉터리 : rwxrwxr-x

3. 보안이 중요한 서버(예 : 금융, 개인정보 취급)

  • 권장 umask
    • 077
  • 설정
    • 파일은 소유자만 접근 가능하고, 그룹이나 다른 사용자는 접근 불가
  • 이유
    • 기밀 정보보호 필요
    • 외부 사용자 접근 차단
  • 결과
    • 파일 : rw-------
    • 디렉터리 : rwx------

 

4. 웹서버나 서비스 계정용 시스템 계정

  • 권장 umask
    • 027
  • 설명
    • 그룹은 읽기 가능, 다른 사용자는 접근 금지
  • 이유
    • 로그 파일 등은 관리자나 개발자 그룹이 읽어야 할 수 있지만, 일반 사용자 접근은 차단해야 함
  • 결과
    • 파일 :  rw-r------
    • 디렉터리 : rwxr-x---
728x90

+ Recent posts