본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.


Linux umask; UNIX umask

리눅스 등 유닉스 계열 시스템의 파일 또는 디렉터리가 만들어질 때의 퍼미션의 기본값을 지정하기 위한 값

  • 일반 파일은 666, 디렉토리는 777에서 umask값을 뺀 값으로 접근모드가 설정됨
  • umask 022 이면 새 파일은 666 - 022 = 644 로 ls -l 에 -rw-r--r-- 로 나오고, 새 디렉터리는 777 - 022 = 755 로 drwxr-xr-x 로 나온다
  • 새로 만든 일반 파일에는 umask 와 관계없이 실행(x) 권한이 붙지 않는다. -rwxr-xr-x(755) 같은 값은 파일이 아니라 디렉터리에 나오거나 chmod 로 따로 줘야 한다
  • 0022 처럼 네 자리로 쓰면 맨 앞 자리는 특수 권한(SetUID 등) 자리이고 보통 0 이다
  • umask에 따른 디렉터리 및 파일 퍼미션 예시
umask 디렉터리 퍼미션 파일 퍼미션
022 755 644
006 771 660
020 757 646
  • 파일은 기본이 666이고, 디렉터리는 777인 이유
    • 차이가 나는 1은 실행(x) 권한
    • 보안상 파일은 실행 권한이 있고 없고에 대해 취약점 발생 유무에 대한 차이가 큼
    • 디렉터리에게 실행(x) 권한은 디렉터리 접근 권한이므로, 최소 권한
      • 디렉터리에 접근할 수 없으면 다른 권한이 있더라도 아무것도 할 수 없음
  • umask를 설정하고자 하는 폴더에서 입력한다.
$ umask [umask 값]
  • umask 022 등