PromleeBlog
sitemap
aboutMe

posting thumbnail
정보보안기사 - 1.2 리눅스 권한 관리 (chmod, umask 계산법)
Linux Permission Management chmod and umask - InfoSec Engineer 1.2

📅

들어가기 전에 🔗

지난 1.1편에서는 리눅스 시스템의 뼈대인 디렉토리 구조(FHS)와 입주민 명부인 계정 파일들을 살펴보았습니다.
계정이 있다는 것은 곧
내 것과 네 것
의 구분이 생긴다는 뜻입니다.

리눅스는 다중 사용자(Multi-user) 시스템이기 때문에, 파일마다 누가 볼 수 있고 누가 수정할 수 있는지 권한을 철저하게 관리합니다.
이번 시간에는 정보보안기사 시험에서 계산 문제로 가장 많이 출제되는
chmod
(권한 변경)와
umask
(기본 권한)에 대해 실습을 통해 확실하게 정복해 보겠습니다.

ls -al 결과 해석하기 🔗

터미널에서 ls -al 명령어를 입력하면 파일의 상세 정보가 나옵니다.
이 암호 같은 문자열을 해석하는 것이 권한 관리의 첫걸음입니다.

실습: 파일 정보 확인 🔗

Terminal
ls -al /etc/passwd
출력 결과는 보통 다음과 같은 형태를 띱니다.
출력 결과 예시
-rw-r--r-- 1 root root 2345 Jan 1 12:00 /etc/passwd

필드별 상세 분석 🔗

가장 앞부분인 -rw-r--r-- 부분을 4덩어리로 나누어 분석해야 합니다.
ls -al 결과 분석
ls -al 결과 분석

chmod 명령어와 권한 표기법 🔗

권한을 변경하는 명령어인
chmod
(Change Mode)는 두 가지 방식으로 권한을 표현합니다.

1. 옥텟 모드 (8진수) 🔗

정보보안기사 필기/실기 시험에서 계산 문제로 나옵니다.
각 권한을 숫자로 변환하여 더하는 방식입니다.
예를 들어 rwx는 4+2+1 =
7
이 되고, r-x는 4+0+1 =
5
가 됩니다.

[계산 연습] 🔗

2. 심볼릭 모드 🔗

사람이 이해하기 쉬운 기호를 사용합니다.
Terminal
 # test.txt 파일에 그룹(g)의 쓰기(w) 권한을 추가(+)
chmod g+w test.txt
 
 # test.txt 파일에서 기타(o) 사용자에게 모든 권한을 제거(-)
chmod o-rwx test.txt

umask의 개념과 계산법 🔗

파일이나 디렉토리를 새로 만들 때, 매번 권한을 설정하는 것은 귀찮은 일입니다.
그래서 시스템은
기본 권한
을 정해두는데, 이때 적용되는 필터가 바로
umask
입니다.

기본 권한의 최대치 🔗

umask 계산 공식 🔗

👨‍💻
생성 권한 = 최대 권한 - umask 값
(정확히는 뺄셈이 아니라
AND NOT
연산이지만, 시험에서는 뺄셈으로 계산해도 무방합니다.)

실습: umask 확인 및 계산 🔗

Terminal
 # 현재 umask 값 확인
umask
 # 출력 예시: 0022 (맨 앞 0은 8진수 표기, 실제 값은 022)
[시나리오 A] umask가 022일 때 (Root 계정 기본값)
[시나리오 B] umask가 002일 때 (일반 사용자 기본값)

파일 생성 시 umask가 홀수인 경우 🔗

만약 umask가
001
이라면 어떻게 될까요?
파일 최대 권한
666
에서
001
을 빼면
665
가 됩니다.
하지만 파일은 기본적으로 실행 권한(x=1)을 가질 수 없다고 했습니다.
따라서 결과의 각 자리수가 홀수라면(실행 권한이 있다면) 시스템이 강제로
+1
을 하여 짝수로 만듭니다.

소유권 변경 [chown, chgrp] 🔗

파일의 권한(chmod)뿐만 아니라 주인(소유자) 자체를 바꿀 수도 있습니다.
이 명령어는 주로
root
권한이 필요합니다.

실습: 소유권 변경하기 🔗

Terminal
 # 1. 빈 파일 생성
touch security.txt
 
 # 2. 소유자와 그룹 확인 (보통 만든 사람 계정으로 되어 있음)
ls -l security.txt
 
 # 3. 소유자를 'root'로, 그룹을 'root'로 변경 (sudo 필요)
 # 문법: chown 소유자:그룹 파일명
sudo chown root:root security.txt
 
 # 4. 변경 확인
ls -l security.txt
파일 소유권 변경 (prome -> root)
파일 소유권 변경 (prome -> root)

결론 🔗

시험에 자주 나오는 포인트를 정리해 보겠습니다.
다음 시간에는 1.3 특수 권한(SetUID)에 대해 알아봅니다.
rwx 자리에 st 같은 이상한 글자가 붙어있는 파일들이 왜 보안상 위험한지, 이를 이용한 해킹 기법은 무엇인지 심도 있게 다뤄보겠습니다.

참고 🔗