Kali Linux 사용자 및 시스템 관리

Kali LinuxBeginner
지금 연습하기

소개

이 실습에서는 사이버 보안 및 침투 테스트를 위한 인기 플랫폼인 Kali Linux 에서 사용자 및 시스템을 관리하는 방법을 배웁니다. 실무 연습을 통해 현재 사용자를 확인하고, 루트 권한으로 전환하며, 새 사용자를 생성하고, 시스템 프로세스를 모니터링하며, 시스템 로그를 확인하는 기본 명령어들을 탐구하게 됩니다. 이러한 기술은 LabEx VM 환경 내에서 효과적인 시스템 관리 및 문제 해결을 위해 필수적입니다. 터미널을 열면 Kali Linux 컨테이너의 셸에 자동으로 연결되어 바로 실습을 시작할 수 있습니다.

이 실습은 단계별 안내를 통해 학습과 연습을 돕는 가이드형 실습입니다. 각 단계를 완료하고 실무 경험을 쌓으려면 지침을 주의 깊게 따르십시오. 통계 데이터에 따르면 이 실습은 완료율 99%초급 수준이며, 학습자들로부터 99%의 긍정적인 평가를 받았습니다.

whoami 를 이용한 현재 사용자 확인

첫 번째 단계에서는 whoami 명령어를 사용하여 시스템에 로그인된 현재 사용자가 누구인지 식별하는 방법을 배웁니다. 이는 Kali Linux 와 같은 리눅스 시스템에서 기본적이면서도 중요한 기술입니다. 현재 어떤 사용자 계정으로 작업 중인지 파악해야 권한 범위와 명령어 실행 가능 여부를 이해할 수 있기 때문입니다.

LabEx VM 환경에서 터미널을 열면 Kali Linux 컨테이너의 셸에 자동으로 연결됩니다. 컨테이너를 수동으로 시작하거나 셸에 진입할 필요 없이 환경이 이미 준비되어 있습니다.

터미널에 다음 명령어를 입력하고 Enter 를 누르세요:

whoami

이 명령어는 현재 사용자의 이름을 표시합니다. 다음과 유사한 출력이 나타날 것입니다:

root

이 출력은 현재 Kali Linux 컨테이너 내에 root 사용자로 로그인되어 있음을 나타냅니다. 이 환경에서 root가 된다는 것은 기본적으로 모든 관리 권한을 가졌음을 의미합니다. 특정 권한이 필요한 작업을 수행하기 전에 자신의 사용자 신원을 확인하는 것은 매우 중요합니다.

이 간단한 명령어는 사용자 관리의 기초가 됩니다. 다음 단계로 넘어가면서 권한 관리와 추가 사용자 생성 방법을 살펴보며 지식을 확장해 나갈 것입니다. 다음으로 진행하기 전에 예상된 출력이 나오는지 확인하세요.

도구 설치를 위한 패키지 목록 업데이트

사용자 관리 및 시스템 모니터링 작업을 진행하기 전에, Kali Linux 컨테이너의 패키지 목록이 최신 상태인지 확인해야 합니다. 이 단계는 이후 과정에서 도구와 소프트웨어를 원활하게 설치하기 위해 필수적입니다.

Kali Linux 컨테이너 터미널에서 다음 명령어를 입력하고 Enter 를 누르세요:

apt update

이 명령어는 설정된 저장소로부터 패키지 목록을 새로 고쳐 최신 버전의 소프트웨어 패키지에 접근할 수 있도록 합니다. 다음과 유사한 출력이 표시될 것입니다 (세부 내용은 다를 수 있습니다):

Get:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease [41.2 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/kali kali-rolling/main amd64 Packages [19.1 MB]
...
Fetched 19.5 MB in 5s (3,912 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

이 출력은 시스템이 최신 패키지 정보를 다운로드하고 있음을 보여줍니다. 명령어가 완료되면 오래된 패키지 데이터로 인한 문제 없이 필요한 도구를 설치할 준비가 된 것입니다. 이 단계는 이어지는 작업에서 소프트웨어를 설치하기 위한 전제 조건이며, 원활한 실습 진행을 보장합니다.

adduser 를 이용한 새 사용자 추가

패키지 목록이 업데이트되었으므로, 이제 adduser 명령어를 사용하여 Kali Linux 컨테이너에 새 사용자를 생성하는 방법을 배워보겠습니다. 새 사용자를 생성하는 것은 시스템의 다양한 개인이나 역할에 대한 접근 권한을 관리할 수 있게 해주는 핵심적인 관리 작업입니다.

adduser 명령어는 리눅스에서 새 사용자 계정을 설정하기 위한 사용자 친화적인 도구입니다. 사용자의 비밀번호와 기타 세부 정보를 설정하는 대화형 과정을 안내하므로 초보자에게 이상적입니다. 현재 이 컨테이너에 root 사용자로 로그인되어 있으므로 이 작업을 수행하는 데 필요한 권한을 이미 가지고 있습니다.

먼저 adduser가 설치되어 있지 않다면 설치합니다.

apt install -y adduser

터미널에 다음 명령어를 입력하고 Enter 를 눌러 testuser라는 이름의 새 사용자를 추가하는 과정을 시작합니다:

adduser testuser

아래 설명에 따라 대화형 프롬프트를 따르세요. 간단하게 진행하기 위해 최소한의 입력만 사용하되 각 단계를 완료해야 합니다:

  • Enter new UNIX password: test123과 같은 간단한 비밀번호를 입력하고 Enter 를 누릅니다. 보안상 입력하는 문자는 화면에 보이지 않습니다.
  • Retype new UNIX password: 동일한 비밀번호 test123을 다시 입력하고 Enter 를 누릅니다.
  • Full Name, Room Number, Work Phone, Home Phone, Other: 각 항목에서 Enter 를 눌러 건너뜁니다.
  • Is the information correct? [Y/n]: Y를 입력하고 Enter 를 눌러 확인합니다.

다음과 유사한 출력이 나타날 것입니다:

Adding user 'testuser' ...
Adding new group 'testuser' (1000) ...
Adding new user 'testuser' (1000) with group 'testuser' ...
Creating home directory '/home/testuser' ...
Copying files from '/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] Y

이 출력은 홈 디렉토리 및 필요한 설정과 함께 testuser 사용자가 생성되었음을 확인해 줍니다. 사용자가 존재하는지 확인하려면 다음 명령어를 입력하고 Enter 를 누르세요:

id testuser

다음과 같은 출력이 표시되어야 합니다:

uid=1000(testuser) gid=1000(testuser) groups=1000(testuser)

이를 통해 testuser가 고유한 사용자 ID 와 그룹 ID 로 설정되었음을 확인할 수 있습니다. 루트 계정에만 의존하지 않고 접근 권한을 관리하는 것은 시스템 보안을 강화하는 데 매우 중요합니다. 이제 사용자가 생성되었으므로 다음 단계에서 더 많은 관리 작업을 수행할 준비가 되었습니다.

top 을 이용한 시스템 프로세스 모니터링

새 사용자를 생성했으니, 다음 단계는 top 명령어를 사용하여 Kali Linux 컨테이너에서 실행 중인 프로세스를 모니터링하는 방법을 배우는 것입니다. 이 도구는 시스템 성능을 이해하고 리소스 사용 현황을 파악하는 데 필수적입니다.

top 명령어는 시스템에서 실행 중인 프로세스에 대한 실시간 대화형 보기를 제공합니다. CPU 사용율, 메모리 사용량, 프로세스 상태와 같은 세부 정보를 보여주며, 이는 성능 문제를 해결하는 데 도움이 됩니다. root 사용자로서 별도의 추가 권한 없이 이 명령어를 직접 실행할 수 있습니다.

top이 포함된 procps 패키지가 설치되어 있지 않다면 설치합니다.

apt install -y procps

터미널에 다음 명령어를 입력하고 Enter 를 눌러 프로세스 모니터링을 시작합니다:

top

명령어를 실행하면 터미널에 지속적으로 업데이트되는 정보 테이블이 표시됩니다. 출력은 다음과 같은 모습일 것입니다 (특정 프로세스와 값은 다를 수 있습니다):

%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   2048.0 total,    512.3 used,   1535.7 free,     10.2 shared,    200.1 buff/cache
MiB Swap:    512.0 total,      0.0 used,    512.0 free

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0   12345   2345   1234 S   0.0   0.1   0:01.23 init
  123 root      20   0   54321   9876   4321 S   0.0   0.5   0:00.45 bash

top 출력의 주요 섹션에는 CPU 사용량 내역을 보여주는 %Cpu(s), 메모리 사용량을 보여주는 MiB Mem, 프로세스 ID 인 PID, 리소스 사용 백분율인 %CPU%MEM, 그리고 프로세스 이름인 COMMAND가 포함됩니다. 이 정보를 통해 시스템에서 무엇이 실행되고 있는지 확인하고 리소스를 많이 차지하는 프로세스를 식별할 수 있습니다.

top 화면을 종료하고 터미널 프롬프트로 돌아가려면 키보드에서 q 키를 누르세요. 프로세스 모니터링은 시스템 상태를 유지 관리할 수 있게 해주는 시스템 관리의 핵심 기술입니다. 이제 시스템 로그를 살펴볼 준비가 되었습니다.

dmesg 와 tail 을 이용한 시스템 로그 확인

마지막 단계에서는 dmesgtail 명령어를 사용하여 Kali Linux 컨테이너의 시스템 로그를 확인하는 방법을 배웁니다. 로그는 시스템 이벤트에 대한 상세 정보를 제공하며, 이는 문제 해결과 시스템 동작 이해에 매우 귀중한 자료가 됩니다.

우리는 systemd 를 사용할 수 없는 Docker 컨테이너 환경에서 작업하고 있으므로, 시스템 로그를 확인하기 위해 대안적인 방법을 사용하겠습니다. dmesg 명령어는 커널 관련 메시지를 보여주며, tail은 다양한 로그 파일을 직접 확인하는 데 사용될 수 있습니다.

먼저 필요한 도구를 설치합니다:

apt install -y util-linux

커널 메시지를 확인하려면 터미널에 다음 명령어를 입력하고 Enter 를 누르세요:

dmesg

다음과 유사한 출력이 표시됩니다 (내용은 다를 수 있습니다):

[    0.000000] Linux version 5.10.0-18-amd64 ...
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-18-amd64 ...
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

syslog 에서 가장 최근의 시스템 메시지를 보려면 다음을 사용할 수 있습니다:

tail -f /var/log/syslog

만약 syslog 파일이 존재하지 않는다면, 다른 일반적인 로그 파일들을 확인할 수도 있습니다:

ls -l /var/log/

이 명령어는 시스템에서 사용 가능한 로그 파일들을 보여줍니다. 그런 다음 tail 명령어를 사용하여 특정 로그 파일을 확인할 수 있습니다:

tail -n 20 /var/log/messages

-n 20 옵션은 로그 파일의 마지막 20 줄을 표시합니다. tail -f 명령어 실행 상태를 종료하려면 Ctrl+C를 누르세요.

이 명령어들은 시스템 활동에 대한 서로 다른 관점을 제공합니다:

  • dmesg는 커널 메시지와 부팅 시 정보에 집중합니다.
  • 로그 파일에 대한 tail은 진행 중인 시스템 이벤트와 애플리케이션 로그를 보여줍니다.

systemd 의 journalctl 만큼 포괄적이지는 않지만, 이러한 도구들은 시스템 동작에 대한 가치 있는 통찰력을 제공하며 컨테이너 환경에 매우 적합합니다.

요약

이 실습에서는 Kali Linux 에서 사용자 및 시스템을 관리하는 데 필요한 필수 기술을 배웠습니다. whoami로 현재 사용자를 식별하는 것부터 시작하여, 설치 준비를 위해 apt update로 패키지 목록을 업데이트하고, 접근 권한 관리를 위해 adduser로 새 사용자를 생성했습니다. 또한 top을 통해 시스템 프로세스를 모니터링하여 리소스 사용 현황을 파악하고, dmesgtail을 사용하여 시스템 이벤트를 분석하기 위한 로그를 확인했습니다. 이러한 기초 기술은 리눅스 환경에서 효과적인 시스템 관리와 문제 해결을 수행할 수 있는 능력을 갖추게 해줍니다.