`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 |