umask란 무엇인가

2025. 2. 19. 18:27·궁금했던 거
 

umask - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. umask는 컴퓨팅에서 새로 만들어진 파일에 파일 권한을 어떻게 설정할지를 제어하는 마스크 설정을 결정하는 명령어이다. mask, umask 명령어와 umask 함수는 원래

ko.wikipedia.org

 

Linux_umask

umask : 리눅스에서 새로 만들어진 파일에 권한을 어떻게 설정할지 마스크를 결정하는 명령어. umask 명령은 mask 매개변수가 지정되지 않는 경우 현재 쉘 환경의 파일 모드 작성 마스크를 표준 출력

proengineer.tistory.com

 

umask는 앞으로 생길 파일/디렉토리의 권한을 설정하는 명령어이다.

umask에서 파일은 기본적으로 666로 시작하고 디렉토리는 777으로 시작해서 계산한다.

디렉토리가 실행 권한을 가져야 하는 이유는 실행 권한이 있어야 디렉토리 이동이 가능하기 때문이다.

 

🐧 리눅스 파일 & 디렉토리 권한 (소유권 / 허가권 / 특수권한)

파일 및 디렉터리 권한 리눅스는 여러사용자가 들어와 사용하는 멀티유저 시스템이다. 따라서 여러 사용자가 들어와 사용하다보면, 서버에 올려진 비밀자료 열람과 그것을 변조,수정,삭제를 할

inpa.tistory.com

예를 들어 umask 022이라는 명령어를 입력했다고 하자.

그렇다면 파일의 초기 권한(666의 각 자리 숫자를 2진수로 바꾼 110 110 110) - 022(022의 각 자리 숫자를 2진수로 바꾼 000 010 010)과 디렉토리의 초기 권한(777의 각 자리 숫자를 2진수로 바꾼 111 111 111) - 022(022의 각 자리 숫자를 2진수로 바꾼 000 010 010)을 통해 추후 만들어진 파일과 디렉토리의 기본 권한이 설정된다.

여기서 주의할 것이 있는데 계산은 각 자리수 외에 다른 곳에 영향을 주지 못한다. 예를 들어 110 - 101이라면 2진수 계산상 001이 나와야 하지만 각 자리수 외에 다른 곳에 영향을 주지 않기 때문에 010이라는 결과가 나온다.

아무튼, 이렇게 계산된 결과는 파일은 644(110 100 100)이 될 것이고 디렉토리는 755(110 101 101)이 될 것이다.

테스트 해보자.

일단 다시 초기화 하기 위해 umask 명령어를 통해 현재 권한을 확인하자.

umask 055를 하게 될 경우 파일은 110 010 010 ⇒ 622, 디렉토리는 111 010 010 ⇒ 722이 될 것이다.

실제로 umask 055를 하고 test 디렉토리와 test.file 파일을 만들었더니 나온 결과다. 예상대로의 결과가 나온 것을 확인할 수 있다.

저작자표시 비영리 (새창열림)
'궁금했던 거' 카테고리의 다른 글
  • 서드파티 쿠키(3자 쿠키)를 활용한 트래커 사이트의 추적 방식
  • Homebrew로 설치한 logrotate의 logrotate.conf 위치 확인법
gorae1201
gorae1201
다양한 문제를 해결하고 싶은 개발자의 자료 저장소
  • gorae1201
    서카이빙
    gorae1201
  • 전체
    오늘
    어제
    • 분류 전체보기 (19)
      • C++ (1)
        • 백준 (1)
      • 독서 (0)
        • 모던 자바스크립트 딥다이브 (0)
      • DevOps (3)
      • 자바스크립트 (1)
      • CS (3)
        • 네트워크 (3)
      • 데이터베이스 (7)
        • MySQL (6)
        • Redis (1)
      • 궁금했던 거 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    표현식과 문
    logrotate.conf
    5장
    이벤트 루프
    서드파티 쿠키
    ci 파이프라인 개선
    백준
    docker
    나머지
    bind mound
    mysql 컨테이너 로그
    redis daemonize
    3052번
    자바스크립트 비동기
    3rd party cookies
    4장
    cloud canvas
    github actions
    모던 자바스크립트 딥다이브
    terraform
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gorae1201
umask란 무엇인가
상단으로

티스토리툴바