소개
보안 도구와 증거 파일은 사용자 신원 아래에서 실행되고 관리됩니다. 이러한 신원을 이해하면 모든 파일을 모든 계정에 공개하지 않으면서 과제에 필요한 권한을 선택할 수 있습니다.
Kali 안에 연습 계정을 만들고 전용 사건 디렉터리를 할당한 뒤 허용 및 거부된 접근을 모두 테스트합니다. 이 실습에서는 로컬 사용자와 파일 권한을 다룹니다. 프로세스와 로그는 이후 별도 실습에서 배웁니다.
사용자를 식별하고 연습 계정 만들기
이 단계에서는 일반 사용자 신원과 관리자 권한을 구분하고 Kali 안에 별도의 로컬 계정을 만듭니다.
준비된 Kali 셸에 들어가 공유 작업 공간을 선택하세요.
kali
cd /home/labex/project
id는 숫자 사용자 ID(UID), 기본 그룹 ID(GID), 소속 그룹을 보여 줍니다.
id
사용자 이름은 kali이며 숫자 ID는 환경마다 다를 수 있습니다. UID 0은 관리자인 root를 식별합니다. 일반 계정은 0이 아닌 UID를 갖습니다.
sudo는 허용된 명령어를 더 높은 권한으로 실행합니다. 이 교육용 컨테이너에서는 Kali 학습자가 비밀번호 없이 사용할 수 있습니다. 이 권한은 컨테이너에 한정되며 모든 명령어를 root로 실행해야 할 이유는 아닙니다. 한 명령어에 대해서만 root에게 신원 확인을 요청하세요.
sudo whoami
출력은 root입니다. 해당 명령어가 끝나면 권한 상승도 끝납니다.
whoami
출력은 여전히 kali입니다.
로컬 계정에는 이름, UID, 그룹, 홈 디렉터리, 로그인 셸이 있습니다. useradd는 계정을 만들며 관리자 권한이 필요합니다. --create-home은 홈 디렉터리를 만들고, --user-group은 같은 이름의 기본 그룹을 만들고, --shell /bin/bash는 셸로 Bash를 선택합니다.
sudo useradd --create-home --user-group --shell /bin/bash practice-analyst
새 실습에서 한 번 실행하세요. 계정이 존재한다는 메시지는 이미 만들어져 있다는 뜻입니다. 이 연습에는 비밀번호나 SSH 접근이 필요하지 않습니다. id에 이름을 전달해 새 신원을 확인하세요.
id practice-analyst
출력에서 사용자와 기본 그룹 이름이 모두 practice-analyst입니다. UID는 kali 및 root와 달라야 합니다.
소유권과 비공개 권한 지정하기
이 단계에서는 사건 디렉터리를 만들고 소유권을 이전한 뒤 할당된 계정만 접근하도록 제한합니다.
공유 작업 공간으로 돌아오세요.
cd /home/labex/project
일반 사용자로 디렉터리를 만드세요.
mkdir case-files
ls -ld는 디렉터리 자체를 설명합니다. -l은 자세한 출력을 요청하고, -d는 디렉터리 내용이 대신 나열되는 것을 막습니다.
ls -ld case-files
출력에는 권한 문자, 소유자, 그룹이 포함됩니다. 처음 소유자는 kali입니다. 첫 문자 d는 디렉터리를 뜻합니다. 이어지는 아홉 자리는 소유자, 그룹, 기타 사용자에 대한 읽기(r), 쓰기(w), 실행(x) 비트 세 묶음입니다. 디렉터리에서 읽기는 이름 나열, 쓰기는 항목 변경, 실행은 항목으로의 탐색을 허용합니다.
chown은 소유권을 바꿉니다. user:group 형식은 소유자와 그룹을 모두 지정합니다. 다른 계정으로 소유권을 이전하려면 관리자 권한이 필요합니다.
sudo chown practice-analyst:practice-analyst case-files
chmod는 권한을 바꿉니다. 숫자 형식에서 읽기는 4, 쓰기는 2, 실행은 1입니다. 합계 7은 세 권한 모두를 부여하며 0은 아무것도 부여하지 않습니다. 모드 700은 소유자에게 전체 접근을 주고 그룹과 기타 사용자에게는 디렉터리 접근을 전혀 주지 않습니다.
sudo chmod 700 case-files
ls -ld case-files
앞부분은 drwx------이고 소유자와 그룹은 practice-analyst여야 합니다. 날짜와 숫자 크기는 다를 수 있습니다. 소유권은 소유자 권한을 받을 계정을 선택하며 모드는 각 범주에 허용되는 접근을 정의합니다.
의도한 계정으로 접근 테스트하기
이 단계에서는 권한 목록에만 의존하지 않고 실제 사용자 신원으로 접근을 확인합니다.
sudo -u NAME은 root 대신 지정된 사용자로 명령어를 실행합니다. 사건 디렉터리의 소유자로 전용 디렉터리에 파일을 만드세요.
sudo -u practice-analyst touch /home/labex/project/case-files/checked.txt
출력이 없는 것이 정상입니다. 같은 계정으로 결과를 확인하세요.
sudo -u practice-analyst ls -l /home/labex/project/case-files
빈 checked.txt 파일의 소유자는 practice-analyst여야 합니다. 파일 생성은 이 계정이 디렉터리를 탐색하고 쓸 수 있다는 증거입니다.
일반 Kali 계정에는 해당 접근 권한이 없어야 합니다. 제한을 보여 주도록 다음 명령어는 권한 거부 메시지와 함께 실패하는 것이 정상입니다. 오류 후에도 계속 진행하세요.
ls /home/labex/project/case-files
root는 명시적으로 허용된 명령어를 통해 계속 디렉터리를 확인할 수 있습니다.
sudo ls /home/labex/project/case-files
checked.txt가 보여야 합니다. 비공개 권한은 일반 계정을 제한하며 root는 관리자 권한을 유지합니다. 일반 작업에는 계속 kali를 사용하고 필요한 특정 작업만 권한을 높이세요. 이 명령어들은 호스트 학습자 계정이나 LabEx의 VM 연결 방식을 바꾸지 않습니다.
요약
사용자 신원을 살펴보고 특정 관리 작업에 sudo를 사용하여 계정을 만들고 디렉터리 소유권과 권한을 지정했습니다. 의도한 계정은 작업할 수 있고 다른 일반 계정은 접근이 거부됨을 확인했습니다.



