본문 바로가기

ISMS-P/보안

umask

SMALL

`umask`는 Unix 및 Unix 계열 시스템(예: Linux)에서 파일 생성 시 부여되는 기본 권한을 설정하는 커맨드라인 유틸리티입니다. 사용자가 파일 또는 디렉토리를 생성할 때 시스템은 기본적으로 부여되는 권한이 있습니다. `umask`는 이러한 기본 권한에서 제거하고자 하는 권한을 설정하는데 사용됩니다.

`umask` 값은 기본 파일 권한(666) 또는 디렉토리 권한(777)에서 빼주는 형태로 동작합니다. 예를 들어, `umask` 값을 022로 설정하면, 생성되는 파일의 기본 권한은 644(666-022)가 되고, 생성되는 디렉토리의 기본 권한은 755(777-022)가 됩니다. 이는 파일에 대해 소유자는 읽기 및 쓰기 권한을 가지고, 그룹 사용자와 다른 사용자는 읽기 권한만을 가지게 됩니다.

이런 식으로 `umask`는 파일 및 디렉토리의 기본 권한을 제어하여, 파일과 디렉토리가 과도하게 개방되는 것을 방지하고 시스템 보안을 강화하는 데 도움을 줍니다. 

`umask` 값을 확인하려면 터미널에서 `umask` 명령어를 입력하면 되며, `umask` 값을 설정하려면 `umask` 명령어에 원하는 값을 인자로 전달하면 됩니다. 예를 들어, `umask 022`를 입력하면 `umask` 값이 022로 설정됩니다.

 

`umask` 명령어의 값은 3개의 숫자로 이루어져 있으며, 각 숫자는 파일이나 디렉토리에 설정되는 권한을 제어합니다. 각 숫자는 다음과 같은 의미를 가집니다:

1. **첫 번째 숫자:** 파일 소유자 또는 디렉토리 소유자에 대한 권한을 제어합니다. 
2. **두 번째 숫자:** 파일이나 디렉토리의 그룹에 대한 권한을 제어합니다.
3. **세 번째 숫자:** 그 외의 사용자에 대한 권한을 제어합니다.

각 숫자는 0에서 7까지의 값을 가질 수 있으며, 다음과 같은 권한을 의미합니다:

- **0:** 읽기, 쓰기, 실행 권한을 허용합니다.
- **1:** 읽기, 쓰기 권한을 허용하고, 실행 권한을 제거합니다.
- **2:** 읽기, 실행 권한을 허용하고, 쓰기 권한을 제거합니다.
- **3:** 읽기 권한을 허용하고, 쓰기, 실행 권한을 제거합니다.
- **4:** 쓰기, 실행 권한을 허용하고, 읽기 권한을 제거합니다.
- **5:** 쓰기 권한을 허용하고, 읽기, 실행 권한을 제거합니다.
- **6:** 실행 권한을 허용하고, 읽기, 쓰기 권한을 제거합니다.
- **7:** 읽기, 쓰기, 실행 권한 모두 제거합니다.

따라서 `umask` 값을 `022`로 설정하면, 파일 소유자에게는 모든 권한(읽기, 쓰기, 실행)이 부여되고, 그룹 사용자와 다른 사용자에게는 읽기와 실행 권한만 부여됩니다. 즉, 쓰기 권한이 제거됩니다. 이렇게 `umask`를 이용하여 기본 권한을 설정함으로써, 파일과 디렉토리의 보안을 강화할 수 있습니다.

'ISMS-P > 보안' 카테고리의 다른 글

at과 crontab  (0) 2023.07.05
setuid, setgid 그리고 sticky bit  (0) 2023.07.05
보안 취약점이 있는 유닉스 서비스와 포트 번호의 목록  (0) 2023.07.05
PKI, PMI  (0) 2023.07.05
ECDSA (Elliptic Curve Digital Signature Algorithm)  (0) 2023.07.05